sphinx搭建

Sphinx是一個基於SQL的全文檢索引擎,可以結合MySQL,PostgreSQL做全文搜索,它可以提供比數據庫本身更專業的搜索功能,使得應用程序更容易實現專業化的全文檢索。Sphinx特別爲一些腳本語言設計搜索API接口,如PHP,Python,Perl,Ruby等,同時爲MySQL也設計了一個存儲引擎插件

1因爲sphinx需要mysql客戶端進行測試,所以首先確保mysql-client已經安裝,可以用rpm -qa|grep mysql-client進行檢驗

沒安裝的話掛載光盤安裝rpm -ivh安裝

2wget http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.1-beta.tar.gz  tar zxvf coreseek-4.1-beta.tar.gz  

cd coreseek-4.1-beta 

cd mmseg-3.2.14 

./bootstrap 

./configure --prefix=/usr/local/mmseg3 

cd ..

./configure --prefix=/usr/local/coreseek  --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql 

cd /data/postmall/search/
ln -snf /data/postmall/repository/mmseg3 mmseg 

3下載sphinx,到官網下載並解壓./configure --prefix=/data/postmall/repository/sphinx2/sphinx.{版本號} --with-mmseg-includes=/data/postmall/search/mmseg/include/mmseg --with-mmseg-libs=/data/postmall/search/mmseg/lib --enable-id64

make && make install

注意】如果在進行第3步make過程中報錯,需要做以下更改,目的是引入mmseg的庫文件和lib文件
修改src/Makefile
在以下倆項後添加
LIBS爲LIBS=-L/data/postmall/search/mmseg/lib -lmmseg -lrt
CPPFLAGS爲 CPPFLAGS=-I/data/postmall/search/mmseg/include/mmseg

4拷貝sphinx配置文件以及 mmseg生成的庫文件至新目錄
cd /data/postmall/search/sphinx2
cp mmseg.ini uni.lib /data/postmall/repository/sphinx2/sphinx.{版本號}
cp ./etc/* /data/postmall/repository/sphinx2/sphinx.{版本號}/etc/


5 停止API 的JAVA程序以及 增量推送程序searchBox{35 36} (注意 倆組類型不同,這裏的操作也不同, 選擇當前環境進行執行)
ps -ef|grep RTSE.Interface|awk '{print $2}'|xargs kill -9
ps -ef|grep searchb|awk '{print $2}'|xargs kill -9

5 停止API的TOMCAT以及增量推送程序 RTSE_Indexer (55 58 59)
ps -ef|grep tomcat1|awk '{print $2}'|xargs kill -9
ps -ef|grep RTSE_indexer|awk '{print $2}'|xargs kill -9

6 停止sphinx2 (注意 不同項目sphinx2後面的配置文件不同,主要是在啓動命令後加--stop進行停止)
/data/postmall/search/sphinx2/bin/searchd -c /data/postmall/search/sphinx2/etc/psbc_score_mall_listing.conf --stop

7 做軟連接 進行版本更新
cd /data/postmall/search,然後 ln -snf /data/postmall/repository/sphinx2/sphinx.{版本號}/ sphinx2


8啓動sphinx2

/data/postmall/search/sphinx2/bin/searchd -c /data/postmall/search/sphinx2/etc/psbc_score_mall_listing.conf

9進行sphinx2功能檢查

mysql -h0 –P 6906 // 檢查連通性
mysql> show LISTING; //檢查索引完整、存在
mysql> desc LISTING; // 檢查索引結構
mysql> select * from LISTING; // 檢查索引數據採樣
mysql> select count(*) from LISTING; // 檢查索引彙總功能
mysql> select * from LISTING where id = -1; // 選擇一個未被佔用的數值準備測試插入、刪除,推薦-1
mysql> insert into LISTING (id) values(-1); // 檢查索引可以insert
mysql> select * from LISTING where id = -1; // 檢查索引可以insert後可select
mysql> delete from LISTING where id = -1; // 檢查索引可以delete
mysql> select * from LISTING where id = -1; // 檢查索引可以insert後可select
mysql>\q // 結束測試

10 啓動api進程以及增量推送進程
35,36
====
/usr/local/jdk/bin/java -jar /data/postmall/repository/RTSE.Interface/RTSE.Interface.jar -k startService >/dev/null &

/usr/local/jdk/bin/java -jar /home/web/searchb/searchbox.jar -k maall >/dev/null 2>&1 &
====
55,58,59
~/t1_restart.sh
/usr/local/jdk/bin/java -jar /data/postmall/search/RTSE.Indexer/RTSE.Indexer.jar -k startService > /dev/null 2>&1 &


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章