1. 程式人生 > >XunSearch初探 ubuntu16.04 進行安裝簡單使用

XunSearch初探 ubuntu16.04 進行安裝簡單使用

... har 進行 exce pos source 提升 管理 swd

1 安裝 1.1 安裝依賴環境 apt-get install php build-essential zlib1g-dev php-mysql -y 1.2 安裝xunSearch程序 ./setup.sh --prefix=/usr/local/xunsearch 2 啟動 /usr/local/bin/xs-ctl.sh restart 3 測試 $prefix = /usr/local/xunsearch $prefix/sdk/php/util裏面執行: ./Indexer.php --source=csv --clean demo 4 加入開機啟動 centos編輯: /etc/rc.d/rc.local ubuntu編輯: /etc/rc.local 添加啟動項:/usr/local/search/bin/xs-ctl.sh start 這樣再次就可以了:ps -ef | grep search 就可以查看到 1個主進程3個輔助進程。 第二部分:基礎樣例測試 2.1 demo中csv庫的測試 輸入【建立索引庫】: 進入到執行目錄:cd /usr/local/search/sdk/php/util 開啟csv方式測試:./Indexer.php --source=csv --clean demo 加入如下三條數據: 1,關於 xunsearch 的 DEMO 項目測試,項目測試是一個很有意思的行為!,1314336158
2,測試第二篇,這裏是第二篇文章的內容,1314336160 3,項目測試第三篇,俗話說,無三不成禮,所以就有了第三篇,1314336168 最後使用回車結束,然後使用ctrl+D結束輸入。 測試輸出【搜索測試工具】: ./Quest.php demo 項目 就可以顯示結果了。 2.2 user中的sql庫測試 新建mysql 創建數據庫及數據表: CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘序號,主鍵,自增‘, `username` varchar(200) DEFAULT NULL COMMENT ‘用戶名‘, `passwd` varchar(200) DEFAULT NULL COMMENT ‘密碼‘, `phone` int(11) DEFAULT NULL COMMENT ‘手機號‘, `content` text COMMENT ‘信息‘, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 插入數據:隨便插入數據即可。 創建配置文件: /usr/local/search/sdk/php/app# nano user.ini 配置文件引導:http://www.xunsearch.com/tools/iniconfig 配置完成內容如下: project.name = user [id] type = id [username] type = title [passwd] [content] type = body 截至到目前為止:準備完成。 建立 xunsearch 索引【建立索引庫】 。 默認的demo格式:--source=mysql://[user[:passwd]@]host/dbname[/table] ./Indexer.php --source=mysql://root:[email protected]
/* *//XunSearch/users --sql="select * from users" --clean user 註意:此處的sql語句不要加分號。 執行查詢: ./Quest.php user jingshan 可以查詢到結果 //感恩、草根、協同、創新 第三部分:結合php的基礎使用 3.1 新建項目 新建任意.php文件,包含系統XS.php文件,這樣就可以自動引入 XS、XSException、XSDocument、XSIndex、XSSearch、XSTokenizer對象 簡單創建代碼如下: 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 基礎異常使用即可。 3.3 文檔 類似於msyql值裏面的一條行記錄,幾種賦值方式,推薦setField(array());可以使用foreach循環顯示。 代碼如下: 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‘=>‘真的嗎?‘ )); // 用數組進行批量賦值 foreach($doc as $name => $value){ echo "$name: $valuen"; } }catch (XSException $e){ echo $e->getMessage(); } 3.4 索引 索引使用: $xs = new XS(‘user‘); $index = $xs->index; 針對索引,可以進行增刪改查文檔 添加: $data = array( ‘pid‘ => 234, // 此字段為主鍵,必須指定 ‘subject‘ => ‘測試文檔的標題‘, ‘message‘ => ‘測試文檔的內容部分‘, ‘chrono‘ => time()); // 創建文檔對象$doc = new XSDocument; $doc->setFields($data); // 添加到索引數據庫中$index->add($doc); 更新: $data = array( ‘pid‘ => 234, // 此字段為主鍵,是進行文檔替換的唯一標識 ‘subject‘ => ‘測試文檔的標題‘, ‘message‘ => ‘測試文檔的內容部分‘, ‘chrono‘ => time()); // 創建文檔對象$doc = new XSDocument; $doc->setFields($data); // 更新到索引數據庫中$index->update($doc); 刪除: 按主鍵刪除: $index->del(‘123‘); // 刪除主鍵值為 123 的記錄 $index->del(array(‘123‘, ‘789‘, ‘456‘)); // 同時刪除主鍵值為 123, 789, 456 的記錄 按字段索引此刪除: $index->del(‘abc‘, ‘subject‘); // 刪除字段 subject 上帶有索引詞 abc 的所有記錄 $index->del(array(‘abc‘, ‘def‘), ‘subject‘); // 刪除字段 subject 上帶有索引詞 abc 或 def 的所有記錄 清空索引: $index->clean(); 平滑重建索引: // 宣布開始重建索引$index->beginRebuild(); // 然後在此開始添加數據... $index->add($doc);... // 告訴服務器重建完比$index->endRebuild(); 索引緩沖區:知道即可。 3.5 搜索 創建搜索對象: $search = $xs->search; 典型搜索做法: $search = $xs->search; // 獲取 搜索對象 $query = ‘jingshan‘; // 這裏的搜索語句很簡單,就一個短語 $search->setQuery($query); // 設置搜索語句 //$search->addWeight(‘subject‘, ‘xunsearch‘); // 增加附加條件:提升標題中包含 ‘xunsearch‘ 的記錄的權重 //$search->setLimit(5, 0); // 設置返回結果最多為 5 條,並跳過前 10 條 $docs = $search->search(); // 執行搜索,將搜索結果文檔保存在 $docs 數組中 $count = $search->count(); // 獲取搜索結果的匹配總數估算值 echo "count:",$count; foreach($docs as $doc_v){ var_dump($doc_v); //echo $doc_v->username; } 快速搜索做法: $count = $search->count(‘項目測試‘); $docs = $search->search(‘項目測試‘); 搜索中的串接操作: 忽略:類似命令鏈的方式進行操作。 搜索日誌: 忽略 3.6 分詞接口 忽略: 第四部分:配置文件 使用配置工具進行簡單的配置即可。 第五部分:管理索引 簡單的索引對增刪改查 第六部分:使用搜索 進行普通的搜索,獲取搜索的結果及,設置搜索內容。分頁。 第七部分:生成demo 使用創建方式: ./SearchSkel.php -p user -o /root 將生成的框架文件,進行web可訪問配置即可。 著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。互聯網+時代,時刻要保持學習,攜手千鋒PHP,Dream It Possible。

XunSearch初探 ubuntu16.04 進行安裝簡單使用