- 新手上路
- 了解基础对象
- 编写项目配置文件
- 管理索引
- 使用搜索
- 使用辅助工具
- 专题
搜索测试工具
Quest
是搜索测试工具,提供了搜索相关的各项功能,非常适合用于前期测试比较和纠错。
运行脚本工具的 --help 选项可查看内置的帮助和说明,如乱码可在选项后加入 -c gbk 试试。
$prefix/sdk/php/util/Quest.php --help1. 主要参数和选项
和索引工具类似,使用前必须先指定的项目名称或配置文件,所有的操作都将是作用于该项目, 主要选项如下:
-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 启用自动同义词搜索,这依赖于您的同义词库设置
以下是一些经典用法举例:
# 搜索 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 demo3. 查看同义词表
使用 --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 开头,请勿试图进行删除
2条评论!
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}
这到底是成功了还是失败了?有没有人能指导一下?
执行以后,返回什么结果是正确的结果呢 /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}
这个结果正确吗
请到论坛 登录 后刷新本页面!