網上配置文件眾多,但是對著他們的文件來做老是出問題,於是花了點時間研究了一下,寫成總結,方便以後查閱。也希望學習sphinx的朋友能少走彎路。coreseek的安裝請參考:
一、sphinx的配置
sphinx配置檔案結構介紹
sphinx的配置檔案結構如下:
source 源名稱1index 索引名稱1
indexer
searchd
source和index都可以配置多個。
spinx配置案例詳細解釋
接下來就來針對乙個配置案例來做詳細的配置介紹:
#定義乙個資料來源source search_main
#定義乙個增量的源
source search_main_delta : search_main
#定義乙個index_search_main索引
index index_search_main
#定義增量索引
index index_search_main_delta : index_search_main
#定義indexer配置選項
indexer
#定義searchd守護程序的相關選項
searchd
二、sphinx的管理
生成sphinx中文分詞詞庫(新版本的中文分詞庫已經生成在了/usr/local/mmseg3/etc目錄下)
cd /usr/local/mmseg3/etc/usr/local/mmseg3/bin/mmseg -u thesaurus.txt
mv thesaurus.txt.uni uni.lib
生成sphinx中文同義詞庫#同義詞庫是說比如你搜尋深圳的時候,含有深圳灣等字的也會被搜尋出來
#同義詞庫是說比如你搜尋深圳的時候,含有深圳灣等字的也會被搜尋出來
生成全部索引
/usr/local/coreseek/bin/indexer --config /usr/local/coreseek/etc/sphinx.conf –all
若此時searchd守護程序已經啟動,那麼需要加上—rotate引數:
/usr/local/coreseek/bin/indexer --config /usr/local/coreseek/etc/sphinx.conf --all --rotate
4.啟動searchd守護程序
/usr/local/coreseek/bin/searchd --config /usr/local/coreseek/etc/sphinx.conf
5.生成主索引
寫成shell指令碼,新增到crontab任務,設定成每天凌晨1點的時候重建主索引
/usr/local/coreseek/bin/indexer --config /usr/local/coreseek/etc/sphinx.conf --rotate index_search_main
6.生成增量索引
寫成shell指令碼,新增到crontab任務,設定成每10分鐘執行一次
/usr/local/coreseek/bin/indexer --config /usr/local/coreseek/etc/sphinx.conf --rotate index_search_main_delta
7.增量索引和主索引的合併
寫成shell指令碼,新增到計畫任務,每15分鐘跑一次
/usr/local/coreseek/bin/indexer --config /usr/local/coreseek/etc/sphinx.conf --merge index_search_main index_search_main_delta --rotate
8.使用search命令在命令列對索引進行檢索
/usr/local/coreseek/bin/search --config /usr/local/coreseek/etc/sphinx.conf 遊戲
Sphinx 安裝和配置
本例是在linux下,環境 centos6.5 php5.6.8 mysql5.6.13 sphinx2.3.1 beta 第一種方式是採用api呼叫,我們可以使用php,python,perl,ruby等程式語言的api函式進行查詢,這種方式不必重新編譯mysql,模組間改動比較少,相對靈活 第二...
sphinx配置文件
sphinx的配置 source 源名稱1 index 索引名稱1 source 源名稱2 index 索引名稱2 indexer searchd type 資料庫型別 mysql 或sql sql user 資料庫使用者名稱 sql pass 資料庫密碼 sql db 資料庫名稱 sql port...
sphinx配置檔案詳解
sphinx的配置 source 源名稱1 index 索引名稱1 source 源名稱2 index 索引名稱2 indexer searchd type 資料庫型別 mysql 或sql sql user 資料庫使用者名稱 sql pass 資料庫密碼 sql db 資料庫名稱 sql port...