應(yīng)用場景:大量數(shù)據(jù)的模糊搜索浮创,數(shù)據(jù)統(tǒng)計分析等場景砌函,xunsearch的索引中只維護(hù)id和檢索字段讹俊,例如id和content仍劈,可以保證索引的簡單易維護(hù)性和命中速度,同時可以根據(jù)id字段配合mysql精確查找數(shù)據(jù)讹弯,單表100萬數(shù)據(jù)保守測試性能是mysql的10倍以上
運行環(huán)境:centos7
首先安裝依賴组民,煩邪乍,好像還需要zlib庇楞, 就直接yum install zlib*
yum install gcc-c++
yum install bzip2
然后下載xunsearch源碼包
cd /usr/local/src
wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
tar -jxvf xunsearch-full-latest.tar.bz2
cd xunsearch-full-1.3.0/
sh setup.sh? 這一步是執(zhí)行安裝吕晌,沒特殊要求按提示走可以了
然后啟動
/usr/local/xunsearch/bin/xs-ctl.sh start/stop/restart
然后對接到自己的項目里面睛驳,由于composer包沒拉下來,所以只能硬來了
cp -r /usr/local/xunsearch/sdk/php/? /var/www/think/extend
控制器測試代碼
public function index()
{
? ? try {
? ? ? ? include '/var/www/think/extend/Xunsearch/lib/Xunsearch.php';
? ? ? ? $xs = new \XS('demo'); // 創(chuàng)建 XS 對象淫茵,項目名稱為:demo
? ? ? ? $index = $xs->index;
? ? ? ? $doc = new \XSDocument(array( // 創(chuàng)建 XSDocument
? ? ? ? ? ? 'pid' => 123, // 主鍵字段匙瘪,必須指定
? ? ? ? ? ? 'subject' => '測試文檔標(biāo)題',
? ? ? ? ? ? 'message' => '測試文檔內(nèi)容',
? ? ? ? ? ? 'chrono' => time()
? ? ? ? ));
? ? ? ? $index->add($doc); // 添加文檔丹喻,不檢測便索引庫內(nèi)是否已有同一主鍵數(shù)據(jù)
? ? ? ? $index->flushIndex();
? ? // ... 在此編寫過搜索處理代碼 ...
? ? } catch (XSException $e) {
? ? ? ? echo $e->getMessage();
? ? }
}
public function search(){
? ? include '/var/www/think/extend/Xunsearch/lib/Xunsearch.php';
? ? $xs = new \XS('demo'); // 創(chuàng)建 XS 對象,項目名稱為:demo
? ? $search = $xs->search;
? ? $info = $search->search('測試');
? ? print_r($info);
}