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

首先須要說明的一點是,若是須要啓用ik分詞器,那麼分詞器的版本必須與es版本一致,即6.3.0的分詞器須要一樣6.3.0版本的es支持。php

安裝javajava

win-64bit的安裝包須要去java英文官網查找git

安裝ESgithub

6.3.0版本es下載地址:
https://www.elastic.co/downlo...elasticsearch

安裝IK學習

win環境下,命令行進入bin,而後執行ui

`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學習資料大全適合在校大學生,小白,想轉行,想提高本身的均可以加入。
安裝php客戶端.net

`omposer` `require`  `elasticsearch/elasticsearch`

配置ik遠程字典命令行

在IKAnalyzer.cfg.xml中更改響應配置code

`<!--用戶能夠在這裏配置遠程擴展字典 -->`

`<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:8080","connect"; 而後重啓es

關於ik遠程字典

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

即若是你但願某幾個字被視做一個詞,好比各種流行詞彙,則將其加入擴展字典;

若是你但願過濾掉某幾個詞,則將其加入擴展中止詞中。

相關文章
相關標籤/搜索