首頁  >  文章  >  後端開發  >  php環境下使用elasticSearch+ik分詞器進行全文搜索

php環境下使用elasticSearch+ik分詞器進行全文搜索

藏色散人
藏色散人轉載
2020-01-06 16:49:195386瀏覽

首先需要說明的一點是,如果需要啟用ik分詞器,那麼分詞器的版本必須與es版本一致,即6.3.0的分詞器需要同樣6.3.0版本的es支援。

安裝java

win-64bit的安裝套件需要去java英文官網找

安裝elasticSearch(ES )

6.3.0版本es下載網址:

https://www.elastic.co/downloads/past-releases/elasticsearch-6-3-0

#課程推薦→:《elasticsearch全文搜尋實戰》(實戰影片)

來自課程《千萬級資料並發解決方案(理論實戰)》

安裝IK

win環境下,命令列進入bin,然後執行

elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.0/elasticsearch-analysis-ik-6.3.0.zip

然後重啟es。另,es沒有熱重啟功能,守護啟動後如果想重啟,只能先殺掉進程再啟動es

#安裝php客戶端

composer require elasticsearch/elasticsearch

設定ik遠端字典

在IKAnalyzer.cfg.xml中更改回應配置

<!--用户可以在这里配置远程扩展字典 -->
<entry key="remote_ext_dict">http://xxx.com/getDic.php</entry>
<!--用户可以在这里配置远程扩展停止词字典-->
<entry key="remote_ext_stopwords">http://xxx.com/getDicStop.php</entry>

如果重新啟動es時出現類似「java.security.AccessControlException: access denied (java.net. SocketPermission 127.0.0.1:8080 connect,resolve)」的報錯,解決方法為找到%JAVA_HOME%/jre6/lib/security/java.policy 檔案,新增permission java.net.SocketPermission "127.0.0.1:80080" "; 然後重啟es

關於ik遠端字典

擴充字典中的字會被篩選出來,擴充停止字中的字會被過濾掉;

即如果你希望某幾個字被視為一個詞,例如各類流行詞彙,則將其加入擴展字典;

如果你希望過濾掉某幾個詞,則將其加入擴展停止詞中。

更多PHP相關知識,請造訪PHP教學

以上是php環境下使用elasticSearch+ik分詞器進行全文搜索的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除