CentOS7.0 下sphinx搭建

更新依賴包以及安裝編譯環境

yum -y install m4 autoconf automake libtool


yum -y install gcc gcc-c++ wget


yum -y install mysql-devel



下載coreseek 


wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz


##mmseg3是一箇中文分詞插件


tar xzvf coreseek-3.2.14.tar.gz

cd coreseek-3.2.14

cd mmseg-3.2.14/

./bootstrap

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

make

make install


cd ../csft-3.2.14/

sh buildconf.sh

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


vi src/sphinxexpr.cpp


然後將所有的T val = ExprEval ( this->m_pArg, tMatch ).....修改爲


T val = this->ExprEval ( this->m_pArg, tMatch )


make

make install

cd /usr/local/coreseek/etc



進入配置目錄通過命令ls可以看到3個文件

example.sql  sphinx.conf.dist  sphinx-min.conf.dist

其中example.sql是示例sql腳本我們將其導入到數據庫中的test數據庫中作爲測試數據(會創建兩張表 documents和tags)

=============================================================================

vi sphinx.conf

輸入以下內容

source src1

{

type = mysql

sql_host = localhost

sql_user = root

sql_pass = 12345678

sql_db = test

sql_port = 3306 # optional, default is 3306

sql_sock                                = /tmp/mysql.sock

sql_query_pre  = SET NAMES utf8

sql_query = \

SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \

FROM documents

sql_attr_uint = group_id

sql_attr_timestamp = date_added

sql_query_info = SELECT * FROM documents WHERE id=$id

}

index test1

{

source = src1

path = /usr/local/coreseek/var/data/test1

docinfo = extern

charset_type = zh_cn.utf-8

mlock = 0

morphology = none

min_word_len = 1

html_strip = 0

charset_dictpath = /usr/local/mmseg3/etc/

ngram_len                    = 0

}

indexer

{

mem_limit = 32M

}



searchd

{

port = 9312

log = /usr/local/coreseek/var/log/searchd.log

query_log = /usr/local/coreseek/var/log/query.log

read_timeout = 5

max_children = 30

pid_file = /usr/local/coreseek/var/log/searchd.pid

max_matches = 1000

seamless_rotate = 1

preopen_indexes = 0

unlink_old = 1

}


說明:

代碼段source src1{***} 代表數據源裏面主要包含了數據庫的配置信息,src1表示數據源名字,可以隨便寫。

代碼段index test1{***} 代表爲哪個數據源創建索引,與source *** 是成對出現的,其中的source參數的值必須是某一個數據源的名字。

其他參數可以查看手冊,這裏不再贅述。

生成索引

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf --all

啓動命令

/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/sphinx.conf

其中參數--all表示生成所有索引

當然也可以是索引的名字例如:。

執行後可以在/usr/local/coreseek/var/data目錄中看到多出一些文件,是以索引名爲文件名的不同的擴展名的文件

在不啓動sphinx的情況下即可測試命令:

  /usr/local/coreseek/bin/search -c /usr/local/coreseek/etc/sphinx.conf 廣東


windows下創建sphinx

1、進入coreseek文件夾下

2、創建索引   .\bin\indexer.exe -c .\etc\配置文件名字 --all

3、開啓索引   .\bin\searchd.exe -c .\etc\配置文件

4、如果用docs操作進行搜索  :  .\bin\search.exe -c .\etc\配置文件名字  搜索關鍵值

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