今天剛剛學習了一下,就直接分享上去,有些尚未接觸,若是有問題請指正,謝謝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
報錯後請查看本身的路徑是否正確或改正
改完從新輸入後就會看到
那麼這就能夠支持英文檢索了,中文檢索目前查到後直接亂碼,還在研究中.....