Sphinx 死文克斯 聯合Mysql實現中文全文索引
PHP高級工程師之Sphinx中文全文索引
在這裏和大家分享一下Mysql5.5以後支持的全文索引Sphinx安裝配置和運行概念。
如有不善,多提意見(QQ:1595068971-郵箱:[email protected])
Sphinx服務器支持網絡
工作原理:
文件包文件:
api:使用php操縱Sphinx 訪問這個文件。
bin:經常用到的命令(生成Sphinx索引文件,操縱服務)。
etc:配置文件(csft_mysql.conf,uni.lib“海量詞庫文件 也叫 切詞文件”)。北京-天安門
var:Sphinx運行中的日誌文件。
生成Sphinx索引文件 就會把sql查詢關聯語句結果取出來 扔到Sphinx資源包裏產生一個二進制資源文件(存儲sql語句查詢結果)
1.配置
2.生成索引文件
文件另存為 更換編碼
3.php操作Sphinx:
php操作Sphinx:
連接api:api文件夾下Sphinx_api.php文件, 引入api類
$sc = new SphinxClient(); 實例化Sphinx類
$sc->SetServer(‘localhost‘,9312) 連接服務
$sc->SetConnectTimeout(10) 連接的超時時間
$sc->SetMaxQueryTime(30) 最大的查詢時間
$sc->SetArrayResult(true) 返回值類型(數組)
$sc->SetMatchMode(SPH_MATCH_ANY) 切詞方式
(SPH_MATCH_ALL:完全匹配才查詢【‘北京’,‘天安門’,‘北京天安門’】)
(SPH_MATCH_ANY:單個匹配【‘三個詞其中一個就匹配’】)
(SPH_MATCH_PHRASE:不切詞)
$result = $sc->Query($post ,"*") 查詢索引文件(關鍵字,select)
搜索後matches返回搜索記錄
Sphinx 死文克斯 聯合Mysql實現中文全文索引