1. 程式人生 > >全文搜尋引擎——Elasticsearch

全文搜尋引擎——Elasticsearch

 Elasticsearch

開源的 Elasticsearch 是目前全文搜尋引擎的首選。

它可以快速地儲存、搜尋和分析海量資料。維基百科、Stack Overflow、Github 都採用它。

Elasticsearch 的底層是開源庫 Lucene。但是,你沒法直接用 Lucene,必須自己寫程式碼去呼叫它的介面。Elastic 是 Lucene 的封裝,提供了 REST API 的操作介面,開箱即用。

Elasticsearch 是用Java實現的。

搜尋引擎在對資料構建索引時,需要進行分詞處理。分詞是指將一句話拆解成多個單字或詞,這些字或詞便是這句話的關鍵詞

 使用Docker安裝Elasticsearch及其擴充套件

獲取映象,可以通過網路pull

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

或者載入提供給大家的映象檔案

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

修改elasticsearch的配置檔案 elasticsearc-2.4.6/config/elasticsearch.yml第54行,更改ip地址為本機ip地址

network.host: 自己機器的IP地址

建立docker容器執行

docker run -dti --network=host --name=elasticsearch -v /home/python/elasticsearch-2.4.6/config:/usr/share/elasticsearch/config delron/elasticsearch-ik:2.4.6-1.0

 使用haystack對接Elasticsearch

安裝:

pip install drf-haystack
pip install elasticsearch==2.4.1