sphinx全文檢索引擎

今天剛剛學習了一下,就直接分享上去,有些尚未接觸,若是有問題請指正,謝謝php

sphinx是什麼?mysql

Sphinx是一個全文檢索引擎。主要爲其餘應用提供高速、低空間佔用、高結果 相關度的全文搜索功能。算法

Sphinx能夠很是容易的與SQL數據庫和腳本語言集成。sql

當前系統內置MySQL和PostgreSQL 數據庫數據源的支持,也支持從標準輸入讀取特定格式 的XML數據。數據庫

經過修改源代碼,用戶能夠自行增長新的數據源(例如:其餘類型的DBMS 的原生支持)windows

Sphinx的特性?分佈式


高速的創建索引(在當代CPU上,峯值性能可達到10 MB/秒);性能

高性能的搜索(在2 – 4GB 的文本數據上,平均每次檢索響應時間小於0.1秒);學習

可處理海量數據(目前已知能夠處理超過100 GB的文本數據, 在單一CPU的系統上可 處理100 M 文檔);spa

提供了優秀的相關度算法,基於短語類似度和統計(BM25)的複合Ranking方法;

支持分佈式搜索;

支持短語搜索

提供文檔摘要生成

可做爲MySQL的存儲引擎提供搜索服務;

支持布爾、短語、詞語類似度等多種檢索模式;

文檔支持多個全文檢索字段(最大不超過32個);

文檔支持多個額外的屬性信息(例如:分組信息,時間戳等);

支持斷詞;

中文的全文檢索和英文等latin系列不同,後者是根據空格等特殊字符來斷詞,而中文是根據語義來分詞。目前大多數數據庫還沒有支持中文全文檢索,如Mysql。故,國內出現了一些Mysql的中文全文檢索的插件,作的比較好的有hightman的中文分詞。Sphinx若是須要對中文進行全文檢索,也得須要一些插件來補充。其中我知道的插件有 coreseek 和 sfc 。
 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

報錯後請查看本身的路徑是否正確或改正

改完從新輸入後就會看到

那麼這就能夠支持英文檢索了,中文檢索目前查到後直接亂碼,還在研究中.....

相關文章
相關標籤/搜索