搜索日志管理

Logger 是搜索日志管理工具,针对搜索日志关键词提供查询、删除、更新、刷新、清空等功能。

Tip: 热门搜索、相关搜索、拼音搜索、搜索纠错和建议这些功能都是基于搜索日志来实现的。 搜索日志是后台自动分析和生成的,所以可能存在一些偏差和错误,您可借助本工具处理。

运行脚本工具的 —help 选项可查看内置的帮助和说明,如乱码可在选项后加入 -c gbk 试试。

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

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

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

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

  • —import=<..file..> 导入搜索日志文件,每行一个词,每行的数据中可以用\t(Tab键)分开指定次数,没有次数默认为1。

  • —put= 添加、更新搜索日志词汇,词与次数之间用半角冒号分隔,默认为 1 次。多个词之间用,(半角)分隔,词之间如果包含空格,请将参数用引号包围起来。

  • —del= 删除搜索日志中的关键词记录,删除多个词汇用半角逗号分隔,若不存在则会提示相关词

  • —query=<..word..> 以 word 为关键词列出相关搜索词,可用 limit 选项设置个数,默认 6 个

  • —hot= 列出热门搜索词,参数依次表示总次数、上期次数、本期次数,可用 limit 指定个数,默认 10 个。

  • —limit=<..num..> 用于控制 query 和 hot 选项的返回记录数量

  • —flush 强制提交搜索日志变动

  • —clean 清空搜索日志全部内容2. 经典用法示例以下是一些常见用法举例:

  1. # 查看 demo 项目中 热门搜索词
  2. util/Logger.php demo
  3. util/Logger.php demo --hot=cur
  4.  
  5. # 查询 demo 项目中 "word" 相关搜索词汇
  6. util/Logger.php demo word
  7. util/Logger.php demo word --limit 5
  8.  
  9. # 把日志文件 words.txt 导入 dmeo 项目中
  10. util/Logger.php --import=words.txt demo
  11.  
  12. # 清空 demo 项目中 全部搜索日志索引,通常在重建搜索项目或日志数据过于混乱时才需调用
  13. util/Logger.php --clean demo

3. 导入搜索日志文件当您有大批搜索日志词汇需要一并更新时,用 —put 可能力不从心了,我们特别提供了—import 选项用于导入搜索日志文件。

搜索日志文件必须是 UTF-8 编码,如果不是请在使用前转换好。文件格式为一行一个词,每个词后面可以用制表符 \t 隔开写上搜索次数,默认则为 1 次。以半角的 ;# 开头的行表示注释。以下为示范文件内容:

  1. # 这行表示注释,被忽略
  2. 更新词
  3. 更新词2 123

导入的用法很简单,只要用 —import 指定路径即可,导入过程中会依次打印每个词的情况,命令如下:

  1. util/Logger.php --import=/path/to/words.txt demo

4. 删除搜索词热门搜索、相关搜索通常是自动处理的,但如果你不希望出现某些词,可以用 —del 选项删除这些词。选项的值表示要删除的词,多个词之间用半角的逗号分隔,如果搜索词包含空格,请使用半角引号包围选项值。用法如下:

  1. # 删除 demo 项目中 搜索日志词 word
  2. util/Logger.php --del=word demo
  3.  
  4. # 删除 demo 项目中 搜索日志词 word 和 "word1 word2"
  5. util/Logger.php --del "word,word1 word2" demo

5. 添加/更新搜索词您可以用 —put 选项快速添加、更新少量几个搜索词,常用于替换热门搜索词。选项的值表示要更新或添加的词,词后面可以用半角的冒号连接搜索次数,若不指定默认为 1 次。多个词之间用半角的逗号分隔,词汇中包含空格则注意采用引号包围。用法举例:

  1. # 在 demo 项目中 添加搜索词 word 次数为 1
  2. util/Logger.php --put=word demo
  3.  
  4. # 在 demo 项目中 添加搜索词 word 次数为 123,添加搜索词 "word1 word2" 次数为 456
  5. util/Logger.php --put="word:123,word1 word2:456" demo

Note: 删除、更新、导入搜索词都是异步行为,也就是说执行完命令后需要等待一段时间才能生效。