centos 下安裝 shpinx2.1.7 記錄

 

 安裝sphinxmysql

yum install -y mysql mysql-devel 
yum install automake autoconf 
cd /usr/local/src/
wget http://sphinxsearch.com/files/sphinx-2.1.7-release.tar.gz
tar -zxvf sphinx-2.1.7-release.tar.gz 
cd sphinx-2.1.7-release
./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql
make
make install
cd /usr/local/sphinx/
cp etc/sphinx.conf.dist etc/sphinx.conf

 

配置sphinxsql

vim etc/sphinx.conf
主要對 索引源以及索引進行配置,索引源主要配置數據庫等源的配置,索引就是對索引進行的一些配置。

可選配置:索引器配置,sphinx 服務進程配置
 
 
須要注意的是:索引源以及索引要對應上(兩個src1)
代碼片斷:
source src1{....

index simon_test{
        source = src1

具體配置請看附1

 

啓動sphinx數據庫

bin/indexer -c etc/sphinx.conf simon_test

 

 

可能遇到的問題vim

1.錯誤:
bin/indexer -c etc/sphinx.conf article bin/indexer: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory 解決辦法: vim /etc/ld.so.conf
增長mysql lib 目錄
/usr/local/mysql/lib/mysql 增長後執行 ldconfig

 

附1緩存

##### 索引源 ###########
source article_src
{
type = mysql    #####數據源類型
sql_host = 192.168.1.10    ######mysql主機
sql_user = root   ########mysql用戶名
sql_pass = pwd############mysql密碼
sql_db = test #########mysql數據庫名
sql_port= 3306 ###########mysql端口
sql_query_pre = SET NAMES UTF8 ###mysql檢索編碼,特別要注意這點,不少人中文檢索不到是數據庫的編碼是GBK或其餘非UTF8
sql_query = SELECT id,title,cat_id,member_id,content,created FROM sphinx_article ####### 獲取數據的sql

#####如下是用來過濾或條件查詢的屬性############

sql_attr_uint = cat_id ######## 無符號整數屬性
sql_attr_uint = member_id
sql_attr_timestamp = created ############ UNIX時間戳屬性

sql_query_info = select * from sphinx_article where id=$id ######### 用於命令界面端(CLI)調用的測試

}

### 索引 ###

index article
{
source = article_src ####聲明索引源
path = /usr/local/sphinx/var/data/article #######索引文件存放路徑及索引的文件名
docinfo = extern ##### 文檔信息存儲方式
mlock = 0 ###緩存數據內存鎖定
morphology = none #### 形態學(對中文無效)
min_word_len = 1 #### 索引的詞最小長度
charset_type = utf-8 #####數據編碼

##### 字符表,注意:如使用這種方式,則sphinx會對中文進行單字切分,
##### 即進行字索引,若要使用中文分詞,必須使用其餘分詞插件如 coreseek,sfc

min_prefix_len = 0 #最小前綴
min_infix_len = 1 #最小中綴
ngram_len = 1 # 對於非字母型數據的長度切割

#加上這個選項,則會對每一箇中文,英文字詞進行分割,速度會慢
#ngram_chars = U+4E00..U+9FBF, U+3400..U+4DBF, U+20000..U+2A6DF, U+F900..U+FAFF,\
#U+2F800..U+2FA1F, U+2E80..U+2EFF, U+2F00..U+2FDF, U+3100..U+312F, U+31A0..U+31BF,\
#U+3040..U+309F, U+30A0..U+30FF, U+31F0..U+31FF, U+AC00..U+D7AF, U+1100..U+11FF,\
#U+3130..U+318F, U+A000..U+A48F, U+A490..U+A4CF

}

######### 索引器配置 #####
indexer
{
mem_limit = 256M ####### 內存限制
}

############ sphinx 服務進程 ########
searchd
{
#listen = 9312 ### 監聽端口,在此版本開始,官方已在IANA得到正式受權的9312端口,之前版本默認的是3312

log = /usr/local/sphinx/var/log/searchd.log #### 服務進程日誌 ,一旦sphinx出現異常,基本上能夠從這裏查詢有效信息,輪換(rotate)出的問題通常可在此尋到答案
query_log = /usr/local/sphinx/var/log/query.log ### 客戶端查詢日誌,筆者注:若欲對一些關鍵詞進行統計,能夠分析此日誌文件
read_timeout = 5 ## 請求超時
max_children = 30 ### 同時可執行的最大searchd 進程數
pid_file = /usr/local/sphinx/var/log/searchd.pid #######進程ID文件
max_matches = 1000 ### 查詢結果的最大返回數
seamless_rotate = 1 ### 是否支持無縫切換,作增量索引時一般須要
}
相關文章
相關標籤/搜索