XunSearch初探 ubuntu16.04 進(jìn)行安裝簡(jiǎn)單使用

1 安裝

1.1 安裝依賴環(huán)境

apt-get install php build-essential zlib1g-dev ?php-mysql -y

1.2 安裝xunSearch程序

./setup.sh --prefix=/usr/local/xunsearch

2 啟動(dòng)

/usr/local/bin/xs-ctl.sh restart

3 測(cè)試

$prefix = /usr/local/xunsearch

$prefix/sdk/php/util里面執(zhí)行:

./Indexer.php --source=csv --clean demo

4 加入開機(jī)啟動(dòng)

centos編輯:

/etc/rc.d/rc.local

ubuntu編輯:

/etc/rc.local

添加啟動(dòng)項(xiàng):/usr/local/search/bin/xs-ctl.sh start

這樣再次就可以了:ps -ef | grep search 就可以查看到 1個(gè)主進(jìn)程3個(gè)輔助進(jìn)程。

第二部分:基礎(chǔ)樣例測(cè)試

2.1 demo中csv庫(kù)的測(cè)試

輸入【建立索引庫(kù)】:

進(jìn)入到執(zhí)行目錄:cd?/usr/local/search/sdk/php/util

開啟csv方式測(cè)試:./Indexer.php --source=csv --clean demo

加入如下三條數(shù)據(jù):

1,關(guān)于?xunsearch?的?DEMO?項(xiàng)目測(cè)試,項(xiàng)目測(cè)試是一個(gè)很有意思的行為!,1314336158

2,測(cè)試第二篇,這里是第二篇文章的內(nèi)容,1314336160

3,項(xiàng)目測(cè)試第三篇,俗話說,無三不成禮散劫,所以就有了第三篇,1314336168

最后使用回車結(jié)束,然后使用ctrl+D結(jié)束輸入。

測(cè)試輸出【搜索測(cè)試工具】:

./Quest.php demo 項(xiàng)目

就可以顯示結(jié)果了仿耽。

2.2 user中的sql庫(kù)測(cè)試

新建mysql

創(chuàng)建數(shù)據(jù)庫(kù)及數(shù)據(jù)表:

CREATE TABLE `users` (

`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '序號(hào),主鍵各薇,自增',

`username` varchar(200) DEFAULT NULL COMMENT '用戶名',

`passwd` varchar(200) DEFAULT NULL COMMENT '密碼',

`phone` int(11) DEFAULT NULL COMMENT '手機(jī)號(hào)',

`content` text COMMENT '信息',

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8

插入數(shù)據(jù):隨便插入數(shù)據(jù)即可项贺。

創(chuàng)建配置文件:

/usr/local/search/sdk/php/app# nano user.ini

配置文件引導(dǎo):http://www.xunsearch.com/tools/iniconfig

配置完成內(nèi)容如下:

project.name = user

[id]

type = id

[username]

type = title

[passwd]

[content]

type = body

截至到目前為止:準(zhǔn)備完成。

建立 xunsearch 索引【建立索引庫(kù)】 峭判。

默認(rèn)的demo格式:--source=mysql://[user[:passwd]@]host/dbname[/table]

./Indexer.php --source=mysql://root:flzx_3QC@192.168.50.145/XunSearch/users --sql="select * from users" --clean user

注意:此處的sql語(yǔ)句不要加分號(hào)开缎。

執(zhí)行查詢:

./Quest.php user jingshan

可以查詢到結(jié)果

//感恩、草根林螃、協(xié)同奕删、創(chuàng)新

第三部分:結(jié)合php的基礎(chǔ)使用

3.1 新建項(xiàng)目

新建任意.php文件,包含系統(tǒng)XS.php文件疗认,這樣就可以自動(dòng)引入 XS完残、XSException伏钠、XSDocument、XSIndex谨设、XSSearch熟掂、XSTokenizer對(duì)象

簡(jiǎn)單創(chuàng)建代碼如下:

include "/usr/local/search/sdk/php/lib/XS.php";

try{

$xs = new XS('user');

$doc = new XSDocument;

}catch (XSException $e){

echo $e->getMessage();

}

3.2 異常

如3.1 基礎(chǔ)異常使用即可。

3.3 文檔

類似于msyql值里面的一條行記錄铝宵,幾種賦值方式打掘,推薦setField(array());可以使用foreach循環(huán)顯示。

代碼如下:

include "/usr/local/search/sdk/php/lib/XS.php";

try{

$xs = new XS('user');

$doc = new XSDocument;

$doc->setFields(array(

'username' => 'jingshan2',

'passwd' => '123123',

'phone'=>'13880425377',

'content'=>'真的嗎鹏秋?'

)); // 用數(shù)組進(jìn)行批量賦值

foreach($doc as $name => $value){

echo "$name: $valuen";

}

}catch (XSException $e){

echo $e->getMessage();

}

3.4 索引

索引使用:

$xs = new XS('user');

$index = $xs->index;

針對(duì)索引尊蚁,可以進(jìn)行增刪改查文檔

添加:

$data = array(

'pid' => 234, // 此字段為主鍵,必須指定

'subject' => '測(cè)試文檔的標(biāo)題',

'message' => '測(cè)試文檔的內(nèi)容部分',

'chrono' => time());

// 創(chuàng)建文檔對(duì)象$doc = new XSDocument;

$doc->setFields($data);

// 添加到索引數(shù)據(jù)庫(kù)中$index->add($doc);

更新:

$data = array(

'pid' => 234, // 此字段為主鍵侣夷,是進(jìn)行文檔替換的唯一標(biāo)識(shí)

'subject' => '測(cè)試文檔的標(biāo)題',

'message' => '測(cè)試文檔的內(nèi)容部分',

'chrono' => time());

// 創(chuàng)建文檔對(duì)象$doc = new XSDocument;

$doc->setFields($data);

// 更新到索引數(shù)據(jù)庫(kù)中$index->update($doc);

刪除:

按主鍵刪除:

$index->del('123'); // 刪除主鍵值為 123 的記錄

$index->del(array('123', '789', '456')); // 同時(shí)刪除主鍵值為 123, 789, 456 的記錄

按字段索引此刪除:

$index->del('abc', 'subject'); // 刪除字段 subject 上帶有索引詞 abc 的所有記錄

$index->del(array('abc', 'def'), 'subject'); // 刪除字段 subject 上帶有索引詞 abc 或 def 的所有記錄

清空索引:

$index->clean();

平滑重建索引:

// 宣布開始重建索引$index->beginRebuild();

// 然后在此開始添加數(shù)據(jù)...

$index->add($doc);...

// 告訴服務(wù)器重建完比$index->endRebuild();

索引緩沖區(qū):知道即可横朋。

3.5 搜索

創(chuàng)建搜索對(duì)象:

$search = $xs->search;

典型搜索做法:

$search = $xs->search; // 獲取 搜索對(duì)象

$query = 'jingshan'; // 這里的搜索語(yǔ)句很簡(jiǎn)單,就一個(gè)短語(yǔ)

$search->setQuery($query); // 設(shè)置搜索語(yǔ)句

//$search->addWeight('subject', 'xunsearch'); // 增加附加條件:提升標(biāo)題中包含 'xunsearch' 的記錄的權(quán)重

//$search->setLimit(5, 0); // 設(shè)置返回結(jié)果最多為 5 條百拓,并跳過前 10 條

$docs = $search->search(); // 執(zhí)行搜索琴锭,將搜索結(jié)果文檔保存在 $docs 數(shù)組中

$count = $search->count(); // 獲取搜索結(jié)果的匹配總數(shù)估算值

echo "count:",$count;

foreach($docs as $doc_v){

var_dump($doc_v);

//echo $doc_v->username;

}

快速搜索做法:

$count = $search->count('項(xiàng)目測(cè)試');

$docs = $search->search('項(xiàng)目測(cè)試');

搜索中的串接操作:

忽略:類似命令鏈的方式進(jìn)行操作。

搜索日志:

忽略

3.6 分詞接口

忽略:

第四部分:配置文件

使用配置工具進(jìn)行簡(jiǎn)單的配置即可衙传。

第五部分:管理索引

簡(jiǎn)單的索引對(duì)增刪改查

第六部分:使用搜索

進(jìn)行普通的搜索决帖,獲取搜索的結(jié)果及,設(shè)置搜索內(nèi)容蓖捶。分頁(yè)地回。

第七部分:生成demo

使用創(chuàng)建方式:

./SearchSkel.php -p user -o /root

將生成的框架文件,進(jìn)行web可訪問配置即可俊鱼。

著作權(quán)歸作者所有刻像。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處并闲∠杆互聯(lián)網(wǎng)+時(shí)代,時(shí)刻要保持學(xué)習(xí)帝火,攜手千鋒PHP,Dream It Possible溜徙。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市犀填,隨后出現(xiàn)的幾起案子蠢壹,更是在濱河造成了極大的恐慌,老刑警劉巖宏浩,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異靠瞎,居然都是意外死亡比庄,警方通過查閱死者的電腦和手機(jī)求妹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來佳窑,“玉大人制恍,你說我怎么就攤上這事∩翊眨” “怎么了净神?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)溉委。 經(jīng)常有香客問我鹃唯,道長(zhǎng),這世上最難降的妖魔是什么瓣喊? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任坡慌,我火速辦了婚禮,結(jié)果婚禮上藻三,老公的妹妹穿的比我還像新娘洪橘。我一直安慰自己,他們只是感情好棵帽,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布熄求。 她就那樣靜靜地躺著,像睡著了一般逗概。 火紅的嫁衣襯著肌膚如雪弟晚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天仗谆,我揣著相機(jī)與錄音指巡,去河邊找鬼。 笑死隶垮,一個(gè)胖子當(dāng)著我的面吹牛藻雪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播狸吞,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼勉耀,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了蹋偏?” 一聲冷哼從身側(cè)響起便斥,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎威始,沒想到半個(gè)月后枢纠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡黎棠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年晋渺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了镰绎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡木西,死狀恐怖畴栖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情八千,我是刑警寧澤吗讶,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站恋捆,受9級(jí)特大地震影響照皆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鸠信,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一纵寝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧星立,春花似錦爽茴、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至劲装,卻和暖如春胧沫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背占业。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國(guó)打工绒怨, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谦疾。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓南蹂,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親念恍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子六剥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 我們這個(gè)時(shí)代,快速成長(zhǎng)對(duì)大多數(shù)人來說是剛需峰伙。我們想要嘗試最新鮮的事物疗疟,想要擁有更廣闊的視野,想要第一時(shí)間獲得新知瞳氓,...
    php紅薯閱讀 155評(píng)論 0 0
  • 1 安裝 1.1 安裝依賴環(huán)境 apt-get install php build-essential zlib1...
    斯文小螞蟻閱讀 408評(píng)論 0 0
  • 1 安裝 1.1 安裝依賴環(huán)境 apt-get install php build-essential zlib1...
    騎士恨煎蛋閱讀 892評(píng)論 0 0
  • 1 安裝 1.1 安裝依賴環(huán)境 apt-get install php build-essential zlib1...
    dagailv閱讀 460評(píng)論 0 0
  • 之前看了很多面試題策彤,感覺要不是不夠就是過于冗余,于是我將網(wǎng)上的一些面試題進(jìn)行了刪減和重排,現(xiàn)在分享給大家店诗。(題...
    Job_Yang閱讀 12,100評(píng)論 12 143