sphinx全文檢索引擎 江蘇優就業
sphinx是什麼?
Sphinx是一個全文檢索引擎。主要為其他應用提供高速、低空間佔用、高結果 相關度的全文搜索功能。
Sphinx可以非常容易的與SQL資料庫和腳本語言集成。
當前系統內置MySQL和PostgreSQL 資料庫數據源的支持,也支持從標準輸入讀取特定格式 的XML數據。
通過修改源代碼,用戶可以自行增加新的數據源(例如:其他類型的DBMS 的原生支持)
Sphinx的特性?
高速的建立索引(在當代CPU上,峰值性能可達到10 MB/秒);
高性能的搜索(在2 – 4GB 的文本數據上,平均每次檢索響應時間小於0.1秒);
可處理海量數據(目前已知可以處理超過100 GB的文本數據, 在單一CPU的系統上可 處理100 M 文檔);
Advertisements
提供了優秀的相關度演算法,基於短語相似度和統計(BM25)的複合Ranking方法;
支持分散式搜索;
支持短語搜索
提供文檔摘要生成
可作為MySQL的存儲引擎提供搜索服務;
支持布爾、短語、詞語相似度等多種檢索模式;
文檔支持多個全文檢索欄位(最大不超過32個);
文檔支持多個額外的屬性信息(例如:分組信息,時間戳等);
支持斷詞;
中文的全文檢索和英文等latin系列不一樣,後者是根據空格等特殊字元來斷詞,而中文是根據語義來分詞。目前大多數資料庫尚未支持中文全文檢索,如Mysql。故,國內出現了一些Mysql的中文全文檢索的插件,做的比較好的有hightman的中文分詞。Sphinx如果需要對中文進行全文檢索,也得需要一些插件來補充。其中我知道的插件有 coreseek 和 sfc 。
Advertisements
Coreseek是現在用的最多的sphinx中文全文檢索,它提供了為Sphinx設計的中文分詞包LibMMSeg 。並提供了多個系統的二進位發行版,其中有rpm,deb及windows下的二進位包。
接下來主要介紹coreseek在Windows下的使用
1 先下載coreseek-4.1-win64-pinyin-poly.zip
2 打開將文件放到phpStudy下的www目錄下,更改目錄裡面etc文件夾下的csft_mysql.conf文件
改資料庫和數據表結構,在var目錄下的test文件夾下有一個資料庫直接用就行
修改路徑,為自己的www文件夾
修改完成後保存
3 用管理員操作命令行,進入www目錄下的coreseek/bin目錄輸入indexer -c ../etc/csft_mysql.conf --all
接著繼續輸入searchd -c ../etc/csft_mysql.conf
報錯后請查看自己的路徑是否正確或改正
改完重新輸入后就會看到
那麼這就可以支持英文檢索了。
想了解更多的IT知識和趨勢,可關注江蘇優就業微信公眾號(微信公眾號:jsujiuye)或關注江蘇IT技術交流QQ群(251049496)。