文檔說明

搜索測試工具

Quest 是搜索測試工具,提供了搜索相關的各項功能,非常適合用于前期測試比較和糾錯。 運行腳本工具的 --help 選項可查看內置的幫助和說明,如亂碼可在選項后加入 -c gbk 試試。

$prefix/sdk/php/util/Quest.php --help
1. 主要參數和選項

和索引工具類似,使用前必須先指定的項目名稱或配置文件,所有的操作都將是作用于該項目, 主要選項如下:

  • -p|--project <name|file> 指定項目名稱或配置文件路徑,參數名可以省略不寫, 如果僅指定項目名稱,那么將使用 $prefix/sdk/php/app/.ini 文件。

  • -c|--charset <gbk|utf-8> 指定當前環境、查詢語句的字符集,默認情況下, 搜索工具輸出的字符集為 utf-8,并把搜索語句字符集視為項目的默認字符集。

  • -q|--query <..query..> 指定要搜索的查詢語句,如果語句中包含空格請用使用雙引號包圍起來。

  • --hot[=total|last|cur] 用于顯示指定項目的熱門搜索詞,此時 query 參數無意義。 選項值含義分別表示總搜索量、上周搜索量、本周搜索量,默認為總搜索量。

  • --suggest--correct--related 是搭配 query 的一些功能選項。

  • --limit=<..num..> 用于設置各種檢索功能的返回數量最大上限,默認值均為 10 個。 對于普通搜索模式,還支持用 --limit=offset,num 來同時指定偏移量和上限。

  • -d|--db <name[,name2 ...]> 指定要搜索的數據庫名稱,默認是名為 db 的庫, 多個庫之間用逗號分隔。

  • --show-query 在搜索結果顯示內部的 Xapian 結構的 query 語句用于調試

  • --synonym 啟用自動同義詞搜索,這依賴于您的同義詞庫設置

2. 經典用法示例

以下是一些經典用法舉例:

# 搜索 demo 中包含 "測試" 的數據
util/Quest.php demo 測試

# 搜索 demo 中包含 "測試" 的數據,并限制最多返回 2 條結果
util/Quest.php -p demo -q 測試 --limit=2

# 列出 demo 項目中以 "x" 開頭的搜索建議
util/Quest.php --suggest demo x

# 在 demo 項目中修正搜索詞 "xm"
util/Quest.php --correct demo xm

# 在 demo 中列出和 "測試" 相關的搜索詞
util/Quest.php --related demo 測試

# 查看 demo 項目上周的 5 條最熱門搜索詞
util/Quest.php --hot=last --limit=5 demo
3. 查看同義詞表

使用 --list-synonyms 可以列出當前庫的全部同義詞記錄,此選項不需要帶參數。 但特殊參數值 stemmed 表示同時列出隱藏的詞根同義詞。結合選項 --limit 可以設置返回的數量和偏移量,默認只返回前 100 個。例如:

# 默認查看當前庫的前 100 個同義詞記錄
util/Quest.php demo --list-synonyms 

# 查看當前庫第 6~10 條同義詞記錄
util/Quest.php demo --list-synonyms --limit 5,5

# 查看包含隱藏同義詞根在內的記錄
util/Quest.php demo --list-synonyms=stemmed

Tip: 同義詞功能是 1.3.0 版本引入的新功能,詳情參見同義詞專題文檔。 添加、刪除同義詞的功能請參見 Indexer 索引工具

詞根同義詞是自動生成的,以大寫字母 Z 開頭,請勿試圖進行刪除

$Id$

2條評論!

#28 報告
董笑鳴 at 2013-06-03 08:40:53
文檔寫的太粗略了

XSException ../lib/XS.php(2349): Connection refused(C#111, localhost:8384)

0 ../lib/XS.php(2172): XSServer->connect()

1 ../lib/XS.php(1324): XSServer->open('8384')

2 ../lib/XS.php(2158): XSSearch->open('8384')

3 ../lib/XS.php(356): XSServer->__construct('8384', Object(XS))

4 ../lib/XS.php(253): XS->getSearch()

5 Quest.php(106): XSComponent->__get('search')

6 {main}

這到底是成功了還是失敗了?有沒有人能指導一下?

#26 報告
llkk0914 at 2013-03-04 20:22:36
返回什么樣的結果就是正確呢

執行以后,返回什么結果是正確的結果呢 /usr/local/xunsearch/sdk/php/util/Quest.php -p demo -c gbk -q 桌面 --limit=2 返回 Object id #10

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

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

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

3 ../lib/XS.php(2169): XSServer->setProject('cms_51cto')

4 ../lib/XS.php(1312): XSServer->open(8384)

5 ../lib/XS.php(2152): XSSearch->open(8384)

6 ../lib/XS.php(356): XSServer->__construct(8384, Object(XS))

7 ../lib/XS.php(253): XS->getSearch()

8 Quest.php(106): XSComponent->__get('search')

9 {main}

這個結果正確嗎

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

小蜜蜂网络兼职