文檔說明

體驗 DEMO 項目

為了讓您對 xunsearch 有一個初步的印象和了解,我們在這個章節,借助輔助工具 帶您體驗一下搜索和索引的操作。這里可能有很多內容您尚不熟悉,請不必感到惶恐, 只要跟著說明完成操作即可,后面還有大量章節對各項進行深入講解。

Note: 這些例子中的命令、代碼均假定為默認的 UTF-8 環境,如果您使用的是 GBK 編碼環境,請在運行所有 php 腳本時加入 -c gbk 參數。

1. 查看項目配置文件

每一個 xunsearch 搜索項目都有一個獨立的 INI 配置文件。DEMO 項目的配置文件 位于 $prefix/sdk/php/app/demo.ini 使用以下指令便可直接查看配置文件內容。

cat $prefix/sdk/php/app/demo.ini

沒錯,配置文件很簡單、清晰,它默認連接本地的 8383、8384 端口并使用 UTF-8 編碼,包含四個字段:pid,subject,message,chrono 。

2. 填充索引數據

出于測試方便,我們采用 csv 格式來寫入索引數據,請先按以下方式操:

cd $prefix/sdk/php
util/Indexer.php --source=csv --clean demo

然后腳本會給出如下提示:

初始化數據源 ... csv
WARNING: input file not specified, read data from <STDIN>
開始批量導入數據 ...

然后我們測試輸入下面三條數據,最后一條數據打完后必須敲入回車,然后按 Ctrl-D 結束操作。

Note: 在 Windows 的命令行下運行請使用 Ctrl-Z 來表示結束。

1,關于 xunsearch 的 DEMO 項目測試,項目測試是一個很有意思的行為!,1314336158
2,測試第二篇,這里是第二篇文章的內容,1314336160
3,項目測試第三篇,俗話說,無三不成禮,所以就有了第三篇,1314336168

這里屏幕會提示如下信息,表示完成數據提交:

INFO: reach end of file or error occured, total lines: 3
完成索引導入:成功 3 條,失敗 0 條
刷新索引提交 ...

索引數據的提交是異步行為,所以錄完數據并不是立刻就能檢索到(當然,這個時間差也不會太大)。 所以為穩定起見請稍等幾秒再進行下一步的搜索測試。

3. 測試搜索

首先,我們體驗一下正常的搜索,分別以關鍵詞 項目、測試、項目測試、俗話說、莫須有 進行檢索:

cd $prefix/sdk/php
util/Quest.php demo 項目
util/Quest.php demo 測試
util/Quest.php demo 項目測試
util/Quest.php demo 俗話說
util/Quest.php demo 莫須有

每個搜索后的關鍵詞系統都會記錄下來進行分析,并保存在日志中用于統計熱門搜索、搜索建議、相關搜索等。 默認情況系統會每 2 小時進行一次更新日志,由于我們在進行測試,所以請使用以下指令進行強制刷新。

util/Indexer.php --flush-log demo

接下來我們測試一下稍微復雜一點的字段、布爾搜索功能:

util/Quest.php demo subject:測試
util/Quest.php demo pid:2
util/Quest.php demo "第三篇 OR pid:1"

最后我們再測試一下日志相關的搜索情況,其中 --suggest 是搜索建議,當用戶敲入少許漢字或字母時給出 相應的關鍵詞建議(常用于搜索輸入框下拉自動提示),而 --related 表示相關搜索、--hot 表示熱門搜索、 --correct 表示搜索糾錯。

util/Quest.php --hot demo
util/Quest.php --related demo 項目
util/Quest.php --correct demo yunsearch
util/Quest.php --correct demo xmcs
util/Quest.php --correct demo xianmu
util/Quest.php --suggest demo x
util/Quest.php --suggest demo xm
util/Quest.php --suggest demo xia
util/Quest.php --suggest demo xiangmuc
util/Quest.php --suggest demo 項
4. 總結

現在應該對 xunsearch 所提供的功能有了初步的印象。您可能會發現在這個體驗過程中并 沒有涉及到一行代碼,因為我們目的只是先了解和接觸一下 xunsearch 搜索,所以采用 了附加提供的腳本工具來完成所有操作,關于腳本工具的詳細使用請閱讀后面的專題章節。

$Id$

9條評論!

#132 報告
loseself at 2018-06-21 16:46:42
保存

請問, 如果要真正使用的話, demo 里的數據從哪里導入.

#81 報告
Kinoo at 2016-08-11 14:02:48
費解

為何按照示例,結果都是 “0 條包含”???還是說就應該是這個結果????

#60 報告
zhishufei at 2015-09-04 13:03:33
demo 完全不可用 (已經解決)

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

這個運行錯誤。

XSErrorException lib/XS.php(2504): stream_set_blocking() expects parameter 1 to be resource, null given(2)

0 [internal function]: xsErrorHandler(2, 'stream_set_bloc...', '/webserver/xuns...', 2504, Array)

1 lib/XS.php(2504): stream_set_blocking(NULL, true)

2 lib/XS.php(2312): XSServer->connect()

3 lib/XS.php(2297): XSServer->open('8383')

4 lib/XS.php(368): XSServer->__construct('8383', Object(XS))

5 lib/XS.php(260): XS->getIndex()

6 Indexer.php(156): XSComponent->__get('index')

7 {main}

#52 報告
passwordlost at 2015-04-21 13:10:17
最新版本 按此 操作 無法建 新csv demo測試 安裝了無法體驗

cd $prefix/sdk/php util/Indexer.php --source=csv --clean demo

#46 報告
yanyun at 2014-11-15 01:51:14
也同樣遇到了14樓哥們的問題

cd $prefix/sdk/php util/Indexer.php --source=csv --clean demo 出來的是這個東西 Object id #9

請問這應當怎樣解決?

#29 報告
billowliu2 at 2013-06-04 11:53:05
導入的CSV數據,保存在哪里了呢?

bin/xs-ctl.sh start就解決了

#17 報告
manulvphp at 2012-07-27 16:36:57
很有幫助

謝謝你們的無私,我所在的小公司項目決定全文搜索使用xunsearch

#14 報告
yqy19880302 at 2012-06-19 13:39:13
這個是什么情況

cd $prefix/sdk/php util/Indexer.php --source=csv --clean demo 出來的是這個東西 Object id #9

0 lib/XS.php(2105): XSServer->read(8)

1 lib/XS.php(2090): XSServer->getRespond()

2 lib/XS.php(2067): XSServer->execCommand(Array, 201)

3 lib/XS.php(2028): XSServer->setProject('demo')

4 lib/XS.php(2011): XSServer->open('8383')

5 lib/XS.php(342): XSServer->__construct('8383', Object(XS))

6 lib/XS.php(249): XS->getIndex()

7 Indexer.php(155): XSComponent->__get('index')

8 {main}

#13 報告
ghxter at 2012-06-07 22:55:49
導入的CSV數據,保存在哪里了呢?

導入的CSV數據,保存在哪里了呢?

請到論壇 登錄 后刷新本頁面!

青海快三开奖走势图_