Centos7下安裝Coreseek

由于工作需求,需在站點(diǎn)中添加一個(gè)檢索的功能,檢索的條件有三個(gè)且權(quán)重為 ?標(biāo)題 > 標(biāo)簽 > 內(nèi)容。在技術(shù)選型的過(guò)程中考慮了Lucenne、Sphinx、XunSearch三種索搜引擎,加上業(yè)務(wù)的需求,數(shù)據(jù)量大致在一萬(wàn)左右,而且是用PHP開發(fā),所以最終選擇了XunSearch,XunSearch對(duì)中文的支持也是非常棒的,也提供了全面的API文檔,開發(fā)起來(lái)非??臁ucenne、Sphinx對(duì)大數(shù)據(jù)量支持的比較好,性能很高。Lucenne需要java環(huán)境的支持而我這里是PHP的環(huán)境,所以排除了。再來(lái)看看我們的Sphinx:

Sphinx支持高速建立索引(可達(dá)10MB/秒,而Lucene建立索引的速度是1.8MB/秒)

高性能搜索(在2-4 GB的文本上搜索,平均0.1秒內(nèi)獲得結(jié)果)

高擴(kuò)展性(實(shí)測(cè)最高可對(duì)100GB的文本建立索引,單一索引可包含1億條記錄)

支持分布式檢索

支持基于短語(yǔ)和基于統(tǒng)計(jì)的復(fù)合結(jié)果排序機(jī)制

支持任意數(shù)量的文件字段(數(shù)值屬性或全文檢索屬性)

支持不同的搜索模式(“完全匹配”,“短語(yǔ)匹配”和“任一匹配”)

支持作為Mysql的存儲(chǔ)引擎

等等。。。

在網(wǎng)上找了很多安裝教程,安裝的狠蛋疼,最終在博客上找到了一個(gè)比較好的,原文點(diǎn)這里,我在它上面改了一點(diǎn)東西,擴(kuò)展性變得也比較好,關(guān)于Coreseek的說(shuō)明網(wǎng)上一大推,這里就不再說(shuō)了,個(gè)人理解Coreseek = Sphinx + 中文分詞。廢話不多說(shuō),進(jìn)入正題

1、先安裝環(huán)境:

yum install make gcc gcc++gcc-c++libtool autoconf automake imake mysql-devellibxml2-develexpat-devel

注: 檢測(cè)以上軟件是否安裝,如果沒(méi)有請(qǐng)確保安裝;否則無(wú)法正常安裝Coreseek-3.2.14

2、開始安裝:

在coreseek的官網(wǎng)下載coreseek-3.2.14.tar.gz,傳到自己的服務(wù)器/usr/local/下,反正我在使用命令wgethttp://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz沒(méi)有下載成功,

注意:原文mmseg是安裝在/usr/local/mmseg3下,我是安裝在/usr/local/mmseg,所以導(dǎo)致我在后面創(chuàng)建索引的時(shí)候報(bào)錯(cuò),如圖

后來(lái)摸索著在路徑/usr/local/coreseek-3.2.14/testpack/etc在這個(gè)路徑下,將代碼

charset_dictpath = /usr/local/mmseg3/etc/改成charset_dictpath = /usr/local/mmseg/etc/就可以。。。

進(jìn)入/usr/local/下

tar -zxvf coreseek-3.2.14.tar.gz

cd coreseek-3.2.14

##############安裝 mmseg #################

cd mmseg-3.2.14

./bootstrap ? #輸出的warning信息可以忽略,如果出現(xiàn)error則需要解決,一般不會(huì)出現(xiàn)錯(cuò)誤

./configure --prefix=/usr/local/mmseg ? ?#指定 mmseg 的安裝目錄

make && make install

#############安裝 csft-3.2.14 ###############

cd /usr/local/coreseek-3.2.14/csft-3.2.14

#這里我們要修改 src/sphinxexpr.cpp 文件,將該文件中的 1013、1047、1080 行的 ExprEval 改為 this->ExprEval(這里的行數(shù)跟網(wǎng)上的教程說(shuō)的行數(shù)不一樣,可能是版本的問(wèn)題吧,但是如果你用的是我提供的版本,該行數(shù)是正確的),懂點(diǎn) C++ 的同學(xué)也可以自己看看 ExprEval 錯(cuò)在哪里。哈哈我不懂C++都看懂了。。。

#改完上面所說(shuō)的問(wèn)題后:

sh buildconf.sh

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

make && make install

在安裝的過(guò)程中,只要不提示錯(cuò)誤 error,那么其他的如 warning 信息都是可以忽略的。

至此我們已經(jīng)成功的將中文檢索引擎安裝到我們服務(wù)器上來(lái)了。

3、測(cè)試

進(jìn)入目錄/usr/local/coreseek-3.2.14/testpack

cat var/test/test.xml#此時(shí)應(yīng)該正確顯示中文

/usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc var/test/test.xml#整篇文章進(jìn)行分詞

/usr/local/coreseek/bin/indexer -c etc/csft.conf--all ?#創(chuàng)建索引

/usr/local/coreseek/bin/search -c etc/csft.conf 網(wǎng)絡(luò)搜索#搜索關(guān)鍵字 網(wǎng)絡(luò)搜索

/usr/local/coreseek/bin/searchd -c etc/csft.conf ? ? ? ? ? ? ? ? ? ? ? #正常開啟搜索服務(wù)

/usr/local/coreseek/bin/searchd -c etc/csft.conf--stop ? ? ? ? ? ? #如要停止搜索服務(wù)

/usr/local/coreseek/bin/indexer -c etc/csft.conf--all --rotate ? ? #如要已啟動(dòng)服務(wù),要更新索引


到此安裝和測(cè)試都完成了。。。具體的在后面慢慢研究

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容