1. 程式人生 > >php全文搜索引擎xunsearch的搭建

php全文搜索引擎xunsearch的搭建

php 搜索引擎 sunsearch 關鍵詞匹配

1.運行下面指令下載、解壓安裝包

wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
tar -xjf xunsearch-full-latest.tar.bz2

2.執行安裝腳本,根據提示進行操作,主要是輸入 xunsearch 軟件包的安裝目錄,強烈建議單獨 規劃一個目錄,而不是混到別的軟件目錄中。

cd xunsearch-full-1.3.0/
sh setup.sh

第一次安裝的話,過程可能會稍顯漫長,請不必著急,您大可泡杯茶一邊喝一邊等待即可。

執行該步驟時,有可能會出現如下兩種錯誤信息:

ERROR: failed to configure xapian-core-scws, see ‘setup.log‘ for more detail

ERROR: failed to configure scws, see ‘setup.log‘ for more detail

解決辦法:1.安裝g++:yum install gcc-c++

2.安裝zlib模塊:yum install zlib-devel

3.待命令運行結束後,如果沒有出錯中斷,則表示順利安裝完成,然後就可以啟動/重新啟動 xunsearch 的後臺服務,下面命令中的 $prefix 請務必替換為您的安裝目錄,而不是照抄。

cd $prefix ; bin/xs-ctl.sh restart

強烈建議您將此命令添加到開機啟動腳本中,以便每次服務器重啟後能自動啟動搜索服務程序, 在 Linux

系統中您可以將腳本指令寫進 /etc/rc.local 即可。

執行該步驟時,在第一次執行restart時會執行不成功,那麽請用相同的命令重試一下


4.此時的xunsearch服務已經安裝並啟動完成了,接下來是數據的導入

4.1首先編輯sdk中app/demo.ini文件的配置,參考官網手冊:http://www.xunsearch.com/doc/php/guide/ini.first


[id] type=id [name] type=title [name] type=body (括號內的key為數據庫中或csv數據中的key值)



4.2將數據導入。導入數據有多種方式,一個是通過mysql連接導入數據(util目錄在sdk裏面):

util/Indexer.php --source=mysql://root:密碼(沒有則為空)@127.0.0.1/blog/blog --clean demo 另一種方式是通過csv導入數據:util/Indexer.php --source=csv --file=./tages.csv --clean demo



5.命令行中體驗效果:util/Quest.php demo "成龍"



6.php代碼實現全文搜索:

<?php
class Aj_Mblog_SearchController extends AbstractController {
    public function indexAction(){
        require ‘/usr/local/xunsearch/sdk/php/lib/XS.php‘;
        $xs = new XS(‘demo‘);
        $search = $xs->search; // 搜索對象來自 XS 的屬性
        $query = ‘測試‘; // 這裏的搜索語句很簡單,就一個短語
        $search->setQuery($query); // 設置搜索語句
        $docs = $search->search(); // 執行搜索,將搜索結果文檔保存在 $docs 數組中
        $count = $search->count(); // 獲取搜索結果的匹配總數估算值

        $res = $docs[0];
        echo $res->id;die;
        var_dump($docs[0]);die;
        print_r($docs);

        echo $count;

    }
}
?>


更過xunsearch教程見:http://www.xunsearch.com/



本文出自 “PHP程序猿” 博客,轉載請與作者聯系!

php全文搜索引擎xunsearch的搭建