sphinx和elasticseach使用感覺

    公司項目須要,要將mysql數據庫中的數據快速檢索並分詞。mysql

    開始使用的是sphinx,這個搜索引擎安裝,配置,使用,都比較簡單,無需安裝其餘插件,相對來講功能比較單一。sql

    對於新增記錄,個人處理方法是添加增量索引,按期合併到主索引,這致使索引體積愈來愈大。因爲sphinx在運行時是將這些索引放在內存裏的,若是索引體積超出內存容量,會致使報錯沒法執行,因此若是想用sphinx作搜索引擎的話,請務必作好事先規劃。數據庫

    sphinx的分詞器用的是coreseek,做者前段時間網站停了幾個月,萬幸如今又可使用了,感謝他們的無私奉獻。安全

    sphinx的資料國內較少,這算是一個遺憾。elasticsearch

    以後通過討論,決定將搜索引擎改成elasticsearch,簡稱ES。分佈式

    ES的安裝配置就很麻煩了,並且它最常常使用的地方是和logstash、kibana一塊兒組成ELK,處理日誌,想將mysql中的數據導入,須要藉助其餘工具。工具

    我我的使用的是logstash的組件input,這種方法對於數據庫的刪除操做,很難處理。比較看好國人的一個項目,根據mysqldump動態更新,等我有空用過以後,再行評論。性能

    ES比較讚的是分佈式功能,分片自動調整,這個正確設置的話,很好用。網站

    缺陷的話ES的安全方面不是很好,雖然5.0版本後有x-pack支持,但也使安裝配置麻煩了不少。搜索引擎

    分詞用的是ik,我比較習慣粗粒度,細粒度致使索引體積過大了。

    總結一下:sphinx安裝配置簡單,功能單一,但性能不差,我的比較推薦做爲mysql的插件來安裝使用(還未有時間嘗試)。ES呢,安裝配置複雜了不少,功能比較強大,分佈式能夠進行不少細微調整,就是安全性和傳統數據庫導入不是很容易,不出意外的話,我最後用的就是ES了。

相關文章
相關標籤/搜索