日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

XunSearch的使用

發(fā)布時間:2023/12/4 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XunSearch的使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、項目的配置文件

1、要想使用xunsearch,首先需要進行配置文件的配置。

默認目錄在app下,如下面的結(jié)構(gòu),每一個搜索項目都需要有一個ini文件進行相應的配置。

?

舉例:

project.name = novel project.default_charset = utf-8 server.index = 8383 server.search = 8384[novel_id] type = id[title] type = title[author_name][description] type = body[last_time] type = date

?

2、每個字段用一個區(qū)段配置來表示,中括號內(nèi)的名字即為字段名。每個項目包含若干個字段,具體由項目搜索需求決定,并不需一味的與實際源數(shù)據(jù)庫 (如 MYSQL) 一致,而只需要設(shè)計搜索功能所涉及的字段即可。

?

3、這里為了安全起見,我同樣對查詢出的數(shù)據(jù)起了別名,進而一一對應xunsearch中ini文件定義的字段(第三部分可以看到)。

?

chm手冊下載地址:http://www.xunsearch.com/site/download/xs_php_manual.chm

建議如果初次使用xunsearch,則從手冊最開始跟著操作一遍。尤其是新手上路部分。

注:在線生成編輯配置文件ini?http://www.xunsearch.com/tools/iniconfig

?

二、生成骨架文件【建議最好執(zhí)行這步,節(jié)省很多開發(fā)時間】

文檔地址:http://www.xunsearch.com/doc/php/guide/util.skel

?

三、從數(shù)據(jù)庫查詢出需要的數(shù)據(jù),并且將數(shù)據(jù)添加到xunsearch索引數(shù)據(jù)庫

這里,我是在我外層定義了一個php文件來完成添加數(shù)據(jù)到XunSearch索引數(shù)據(jù)庫的操作,代碼如下

<?php //require '/data/xun/lib/XS.php'; require './lib/XS.php';$XS = new XS('novel');// 建立 XS 對象,項目名稱為:novel $index = $XS->index; // 獲取 索引對象//創(chuàng)建pdo對象,并從表中讀出需要的數(shù)據(jù) $dsn = "mysql:dbname=test;host=127.0.0.1"; $pdo = new PDO($dsn,'root','123456'); $sql = "select comic_id as novel_id,name as title,pen_name as author_name,description,last_verify_time as last_time from front_comic"; $stmt = $pdo->query($sql); $data = $stmt->fetchAll(2);//循環(huán)添加數(shù)據(jù)到XunSearch索引庫 foreach ($data as $v){// 創(chuàng)建文檔對象$doc = new XSDocument();$doc->setFields($v);// 添加到索引數(shù)據(jù)庫中$res = $index->add($doc); }$res = $res ? 'success' : 'fail'; echo $res;

執(zhí)行a.php文件,則從數(shù)據(jù)庫查詢出來的數(shù)據(jù)就添加到XunSearch索引數(shù)據(jù)庫中了。

?

四、演示效果

這里,訪問之前我們生成的對應的骨架文件就可以看到效果了。

到這里,基本的全文檢索就已經(jīng)實現(xiàn)了。

總結(jié):

1、XunSearch全文檢索的原理就是將mysql數(shù)據(jù)庫中的我們需要的數(shù)據(jù)查詢出來,并一一對應的添加到XunSearch的索引數(shù)據(jù)庫中,然后,用戶在前端查詢的時候,就直接查詢的是Xunsearch索引數(shù)據(jù)庫中的內(nèi)容了。這樣,可以說速度就變得非常非常快了。

2、在項目中引入XunSearch或者sphinx等全文檢索工具,則會大大降低mysql的壓力,并且能夠更快速的檢索出用戶需要的數(shù)據(jù),無疑體驗會更加好。

3、XunSearch索引數(shù)據(jù)庫的文件默認存儲在/usr/local/xunsearch/data/項目名 中,每一個項目有自己獨立的一個存儲庫,如下:

4、進入novel項目的存儲庫,我們可以看到三個文件,一個是存儲數(shù)據(jù)的,一個是存儲日志的,一個是存儲搜索記錄的

?

?

值得注意的是:在測試演示效果的時候,由于xunsearch數(shù)據(jù)庫并不是你這邊剛提交完,那邊數(shù)據(jù)就直接更新了,而是異步的(默認大概每兩個小時才更新一次),所以,為了更快速的看到效果,我們需要手動去刷新,如下:

util/Indexer.php --flush-log novel

?

總結(jié)

以上是生活随笔為你收集整理的XunSearch的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。