搜索测试工具

Quest 是搜索测试工具,提供了搜索相关的各项功能,非常适合用于前期测试比较和纠错。运行脚本工具的 —help 选项可查看内置的帮助和说明,如乱码可在选项后加入 -c gbk 试试。

  1. $prefix/sdk/php/util/Quest.php --help

1. 主要参数和选项和索引工具类似,使用前必须先指定的项目名称或配置文件,所有的操作都将是作用于该项目,主要选项如下:

  • -p|—project 指定项目名称或配置文件路径,参数名可以省略不写,如果仅指定项目名称,那么将使用 $prefix/sdk/php/app/.ini 文件。

  • -c|—charset 指定当前环境、查询语句的字符集,默认情况下,搜索工具输出的字符集为 utf-8,并把搜索语句字符集视为项目的默认字符集。

  • -q|—query <..query..> 指定要搜索的查询语句,如果语句中包含空格请用使用双引号包围起来。

  • —hot[=total|last|cur] 用于显示指定项目的热门搜索词,此时 query 参数无意义。选项值含义分别表示总搜索量、上周搜索量、本周搜索量,默认为总搜索量。

  • —suggest—correct—related 是搭配 query 的一些功能选项。

  • —limit=<..num..> 用于设置各种检索功能的返回数量最大上限,默认值均为 10 个。对于普通搜索模式,还支持用 —limit=offset,num 来同时指定偏移量和上限。

  • -d|—db 指定要搜索的数据库名称,默认是名为 db 的库,多个库之间用逗号分隔。

  • —show-query 在搜索结果显示内部的 Xapian 结构的 query 语句用于调试

  • —synonym 启用自动同义词搜索,这依赖于您的同义词库设置2. 经典用法示例以下是一些经典用法举例:

  1. # 搜索 demo 中包含 "测试" 的数据
  2. util/Quest.php demo 测试
  3.  
  4. # 搜索 demo 中包含 "测试" 的数据,并限制最多返回 2 条结果
  5. util/Quest.php -p demo -q 测试 --limit=2
  6.  
  7. # 列出 demo 项目中以 "x" 开头的搜索建议
  8. util/Quest.php --suggest demo x
  9.  
  10. # 在 demo 项目中修正搜索词 "xm"
  11. util/Quest.php --correct demo xm
  12.  
  13. # 在 demo 中列出和 "测试" 相关的搜索词
  14. util/Quest.php --related demo 测试
  15.  
  16. # 查看 demo 项目上周的 5 条最热门搜索词
  17. util/Quest.php --hot=last --limit=5 demo

3. 查看同义词表使用 —list-synonyms 可以列出当前库的全部同义词记录,此选项不需要带参数。但特殊参数值 stemmed 表示同时列出隐藏的词根同义词。结合选项 —limit 可以设置返回的数量和偏移量,默认只返回前 100 个。例如:

  1. # 默认查看当前库的前 100 个同义词记录
  2. util/Quest.php demo --list-synonyms
  3.  
  4. # 查看当前库第 6~10 条同义词记录
  5. util/Quest.php demo --list-synonyms --limit 5,5
  6.  
  7. # 查看包含隐藏同义词根在内的记录
  8. util/Quest.php demo --list-synonyms=stemmed

Tip: 同义词功能是 1.3.0 版本引入的新功能,详情参见同义词专题文档。 添加、删除同义词的功能请参见 Indexer 索引工具

词根同义词是自动生成的,以大写字母 Z 开头,请勿试图进行删除