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)。

Advertisements

你可能會喜歡