coreseek 是在Sphinx 基礎(chǔ)上開發(fā)的全文檢索軟件, 具 體介紹詳見文尾 附 錄

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

一、       安裝環(huán)境及介紹

1.      前提環(huán)境

系 統(tǒng)環(huán)境:centos5

操 作用戶:root

文 中粗體字為需用戶輸入的命令內(nèi)容

 

2.       源碼包準(zhǔn)備

下 載MMSEG 分詞源碼包 

wget  http://www.coreseek.cn/uploads/sources/mmseg3_0b3.tar.gz

下 載coreseek 源碼包 

wget  http://www.coreseek.cn/uploads/sources/csft3_0b4.tar.gz

解 壓縮源碼包

tar -xzvf mmseg3_0b3.tar.gz

tar -xzvf csft3_0b4.tar.gz

 

 

3.      安裝環(huán)境準(zhǔn)備

安 裝g++ 編譯環(huán)境

yum install g++

yum install gcc

yum install make

 

安 裝python 開發(fā)組件

yum install python

yum install python-dev

 

 

 

安 裝make

yum install make

 

4.      編譯mmseg

cd mmseg.3.0b3/

./configure --prefix=/ var / eyou /mmseg

make

make install

 

5.      編譯coreseek

cd csft3_0b4/

./configure --prefix=/ var / eyou /coreseek --with-python --with-mysql --with-mmseg-includes=/ var / eyou /mmseg/include/mmseg --with-mmseg-libs=/ var / eyou /mmseg/lib/

make & make install

 

 

此步安裝完成后, 將在/ var / eyou / 下生成 coreseek 目錄

coreseek 目錄中有三個(gè)目錄分別為bin 、 etc 、var

bin 中 存有sphinx 用到的一些執(zhí)行文件 包括 indexer 索引建立 search 查詢工具 searchd 查詢服務(wù)器 等

etc 中是配置文 件,該目錄中 有一個(gè)sphinx.conf. disk ,這個(gè)相當(dāng)于sphinx 的 配置例子文件,我們以這個(gè)文件為藍(lán)本,重新創(chuàng)建一個(gè)空白內(nèi)容的sphinx.conf ,存放在 etc

 

 

6.      創(chuàng)建dict 目錄

創(chuàng)建字典目錄:

mkdir /var/eyou/coreseek/dict/

產(chǎn)生字典步驟:

cd /root/soft/ mmseg.3.0b3/data

/var/eyou/mmseg/bin/mmseg -u unigram.txt

產(chǎn)生了unigram.txt.uni , 移到相應(yīng)目錄。

cp unigram.txt.uni /var/eyou/coreseek/dict/uni.lib

創(chuàng)建 / var / eyou /coreseek/dict/mmseg.ini

內(nèi)容:

[mmseg]

merge_number_and_ascii=1;

number_and_ascii_joint=-;

compress_space=0;

seperate_number_ascii=1;

#merge_number_and_ascii: 字母和數(shù)字連續(xù)出現(xiàn)是非切分

#number_and_ascii_joint: 連接數(shù)字和字母可用的符號(hào),如'-' '.' 等

#compress_space :暫時(shí)無效

#seperate_number_ascii :是否拆分?jǐn)?shù)字,如 1988 -> 1/x 9/x 8/x 8/x

 

7.       php 調(diào)用 sphinx api

 

  通過官方API 調(diào)用Sphinx ,具體為:

coreseek 安裝目錄有一個(gè)API 目錄,里面有三個(gè)PHP 文 件:test.php ,test2.php 和sphinxapi.php 。 sphinxapi.php 是sphinx 調(diào)用接口封裝文件(這個(gè)文件就是官方提供的php 調(diào) 用API ),test.php 是一個(gè)在命令行下執(zhí)行的查詢例子文件,test2.php 是 一個(gè)生成摘要的 例子文件。

 

8.       配置 sphinx.conf

     具體參見sphinx.conf 的 注釋說明

9.       啟動(dòng)服務(wù)

 

建 立索引

/var/eyou/coreseek/bin/indexer  --config  /var/eyou/coreseek/etc/sphinx.conf

啟 動(dòng) searchd 服務(wù)

/var/eyou/coreseek/bin/searchd --config /var/eyou/coreseek/etc/sphinx.conf

 

 

 

二、       附錄 :全文檢索----coreseek

 

 

1.    全文搜索與數(shù)據(jù)庫搜索的區(qū)別

o          專為全文搜索優(yōu)化,效率更高
由于典型的數(shù)據(jù)庫系統(tǒng)要考慮用戶的“增刪改查”等多種復(fù)雜操作,因此其存取數(shù)據(jù)的方式需要考察綜合考慮各種應(yīng)用;而全文搜索的數(shù)據(jù)存取方式 只考慮快速讀取,相比數(shù)據(jù)庫的查詢,要快10 倍或更多。(即使啟用了數(shù)據(jù)庫內(nèi)置的全文搜索功能,這個(gè)結(jié)論仍成立)。

o          支持復(fù)雜的查詢表達(dá)式
數(shù)據(jù)庫系統(tǒng)的查詢,往往只支持“AND ” 或 "OR" 等有限的模式,而全文檢 索不但支持"AND" 、“OR ” 查詢,還支持“NOT ”、“近似”、 “整句”等多種查詢方式;同時(shí)相比數(shù)據(jù)庫系統(tǒng),進(jìn)行在一定范圍內(nèi)查詢時(shí)也更高效

o          支持按相關(guān)度排序
數(shù)據(jù)庫查詢出的結(jié)果,往往按照數(shù)據(jù)庫內(nèi)置的排序規(guī)則進(jìn)行排序,往往只能按時(shí)間、按點(diǎn)擊等有效的排序規(guī)則進(jìn)行;全文搜索除了能夠支持?jǐn)?shù)據(jù)庫的 排序規(guī)則外,還支持按照結(jié)果的相關(guān)度排序,這往往會(huì)給訪問者帶來更大的便利。

o          支持中文分詞
數(shù)據(jù)庫提供的全文搜索功能往往不支持中文分詞(或僅提供二元切分),導(dǎo)致某些短語檢索不到或出現(xiàn)大量不相干的數(shù)據(jù);中文全文檢索系統(tǒng)支持中 文分詞,進(jìn)一步過濾了不相干的數(shù)據(jù)。

2.    自建全文搜索與使用Google 等第三方網(wǎng)站提供的站內(nèi)全文搜索的區(qū)別

o          對(duì)網(wǎng)站設(shè)備有要求
自建全文搜索往往需要站長有至少一臺(tái)獨(dú)立主機(jī),而使用第三方提供的全文搜索對(duì)站點(diǎn)的要求低,虛擬主機(jī)即可;不過,出現(xiàn)全文搜索需求的站點(diǎn)通 常已經(jīng)有自己的獨(dú)立主機(jī)了。

o          索引更新更及時(shí)
由于搜索服務(wù)在第三方托管,其往往只能按照一定的規(guī)則定期更新索引庫(往往是幾小時(shí)、甚至幾天才更新一次索引),您網(wǎng)站上的新出現(xiàn)的內(nèi)容往 往不能及時(shí)被搜索到;
使用自建全文搜索,可以保證您網(wǎng)站上新出現(xiàn)的內(nèi)容可以”立即“被檢索到。

o          更適應(yīng)您的網(wǎng)站
由于中文需要進(jìn)行分詞的特性,導(dǎo)致沒有一套通用的詞庫可以適用于全部網(wǎng)站,要得到優(yōu)秀的檢索結(jié)果需要定制一套適用于您網(wǎng)站的詞庫;
采用第三方的搜索服務(wù),您是無法修改第三方廠商的詞庫的,而使用自建全文搜索則無此問題。

o          更有利于您網(wǎng)站的數(shù)據(jù)整合
有些網(wǎng)站不止是論壇,往往還包括內(nèi)容管理(CMS) 、商城等多種應(yīng)用,而使用數(shù)據(jù)庫搜索往往需要用戶在各個(gè)系統(tǒng) 中都進(jìn)行搜索才能找到內(nèi)容;
第三方的檢索無法區(qū)別各個(gè)系統(tǒng)的不同。而自建的全文搜索可以有效的區(qū)分各個(gè)數(shù)據(jù)來源的不同數(shù)據(jù),真正做到一次搜索應(yīng)有盡有,從而改善您網(wǎng)站 的訪問體驗(yàn),增加您網(wǎng)站的點(diǎn)擊率。

o          避免您的訪問者遇到某些尷尬
第三方的搜索結(jié)果頁面不是您可以控制修改的,有推薦一些可能會(huì)使您網(wǎng)站訪問者尷尬的搜索短語的可能。而使用自建全文搜索則完全無此問題。