Django Docker完成es全文檢鎖

2021-10-10 11:31:18 字數 4607 閱讀 4762

使用docker安裝elasticsearch

1.獲取elasticsearch-ik映象

#從倉庫拉取映象

$ sudo docker image pull delron/elasticsearch-ik:2.4.6-1.0

#解壓教學資料中本地映象

$ sudo docker load -i elasticsearch-ik-2.4.6_docker.tar

2.配置elasticsearch-ik

將教學資料中的elasticsearc-2.4.6目錄拷貝到home目錄下。

修改/home/python/elasticsearc-2.4.6/config/elasticsearch.yml第54行。

更改ip位址為本機真實ip位址。

3.使用docker執行elasticsearch-ik

haystack介紹和安裝配置

1.haystack介紹

haystack 是在django中對接搜尋引擎的框架,搭建了使用者和搜尋引擎之間的溝通橋梁。

我們在django中可以通過使用 haystack 來呼叫 elasticsearch 搜尋引擎。

haystack 可以在不修改**的情況下使用不同的搜尋後端(比如 elasticsearch、whoosh、solr等等)。

2.haystack安裝

$ pip install django-haystack

$ pip install elasticsearch==

2.4.1

3.haystack註冊應用和路由

# settings.py中配置

['haystack'

,# 全文檢索

]

path(

'search/'

, include(

'haystack.urls'))

,

4.haystack配置在配置檔案中配置haystack為搜尋引擎後端

#haystack

haystack_connections =

,}

#額外的配置,可加可以不加#當新增、修改、刪除資料時,自動生成索引

haystack_signal_processor = 『haystack.signals.realtimesignalprocessor』

haystack_signal_processor 配置項保證了在django執行起來後,有新的資料產生時,haystack仍然可以讓elasticsearch實時生成新資料的索引

haystack建立資料索引

1.建立索引類

通過建立索引類,來指明讓搜尋引擎對哪些字段建立索引,也就是可以通過哪些欄位的關鍵字來檢索資料。

本專案中對sku資訊進行全文檢索,所以在goods應用中新建search_indexes.py檔案(注意名字必須相同),用於存放索引類。

**:

from haystack import indexes

from

.models import 模型名稱

class 模型名稱index(indexes.searchindex, indexes.indexable)

:"""模型名稱索引資料模型類"""

text = indexes.charfield(document=

true

, use_template=

true

)def

get_model

(self)

:"""返回建立索引的模型類"""

return 模型名稱

defindex_queryset

(self, using=

none):

"""返回要建立索引的資料查詢集"""

return self.get_model(

).objects.

filter

(is_launched=

true

)

2.建立text欄位索引值模板檔案

在templates目錄中建立text欄位使用的模板檔案

具體在templates/search/indexes/goods/sku_text.txt檔案(需要建立的資料夾,注意檔名相同)中定義}}

}#先再資料庫中新增資料,再執行生成索引

python manage.py rebuild_index
在view檢視中的實現es查詢的檢視

#呼叫時需要用get傳入q=查詢的內容

春雨醫生完成E輪戰略融資 搜狗科技領投

鳳凰網科技訊 9月10日訊息,春雨醫生宣布完成e輪戰略融資,本輪融資由搜狗科技領投,華新 華錦 跟投。此輪融資並未透露具體融資金額。春雨醫生對外表示,將重啟連線 醫生 患者 醫院 藥 械 保險 的五芒星模型,探索由問診到醫院 醫藥 慢病管理和新型健康險為一體的醫療健康全服務體系創新。由於疫情原因,網...

迅雷簽署完成E輪融資協議 金額達3 1億美元

剛剛公布的獵豹移動 原金山網路 ipo招股說明書顯示,金山軟體將以9000萬美元購買迅雷e系列優先股。此次獵豹移動赴美上市,計畫最多籌集3億美元資金,按此計算,迅雷e輪融資的金額已經超過獵豹移動的上市融資規模。與之前幾輪融資不同,迅雷接受的3.1億美元並非風險投資,而是戰略投資,這意味著迅雷將與小公...

E都市錢包行政核查進場階段已完成,合規備案再進一步

進入 12 月,距離監管部門要求的 12 月 31 日合規檢查程式設計客棧的最後期限越來越近,網貸行業合規賽跑迎來倒計時。時至今日,留給各地監管部門以及p2p平台的剩餘時間僅有 26 天。近日,e都市錢包完成網貸機構合規檢查之行政核查工作,至此監管要求的合規檢查三階段的工作全部完成,這意味著e都市錢...