首先需要說明的一點是,如果需要啟用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中文網其他相關文章!