<p ><code >Logger</code>是搜索日志管理工具,针对搜索日志关键词提供查询、删除、更新、刷新、清空等功能。</p><blockquote class="tip" ><p ><strong >Tip:</strong>热门搜索、相关搜索、拼音搜索、搜索纠错和建议这些功能都是基于搜索日志来实现的。 搜索日志是后台自动分析和生成的,所以可能存在一些偏差和错误,您可借助本工具处理。</p></blockquote><p >运行脚本工具的 --help 选项可查看内置的帮助和说明,如乱码可在选项后加入 -c gbk 试试。</p><pre >$prefix/sdk/php/util/Logger.php--help</pre><p><a class="ch" >1. 主要参数和选项</a><a class="anchor" ></a><span ></span></p><p >要使用日志工具,必须先指定的项目名称或配置文件,所有的操作都将是作用于该项目,主要选项如下:</p><ul class=" list-paddingleft-2"><li><p ><em >-p|--project <name|file></em>指定项目名称或配置文件路径,参数名可以省略不写, 如果仅指定项目名称,那么将使用 $prefix/sdk/php/app/.ini 文件。</p></li><li><p ><em >-c|--charset <gbk|utf-8></em>指定当前环境、数据源的字符集,默认情况下, 索引工具输出的字符集为 utf-8,并把数据源字符集视为项目的默认字符集。</p></li><li><p ><em >--import=<..file..></em>导入搜索日志文件,每行一个词,每行的数据中可以用\t(Tab键)分开指定次数,没有次数默认为1。</p></li><li><p ><em >--put=<word1[:wdf1][,word2[:wdf2]]...></em>添加、更新搜索日志词汇,词与次数之间用半角冒号分隔,默认为 1 次。 多个词之间用,(半角)分隔,词之间如果包含空格,请将参数用引号包围起来。</p></li><li><p ><em >--del=<word1[,word2...]></em>删除搜索日志中的关键词记录,删除多个词汇用半角逗号分隔,若不存在则会提示相关词</p></li><li><p ><em >--query=<..word..></em>以 word 为关键词列出相关搜索词,可用 limit 选项设置个数,默认 6 个</p></li><li><p ><em >--hot=<total|last|cur></em>列出热门搜索词,参数依次表示总次数、上期次数、本期次数, 可用 limit 指定个数,默认 10 个。</p></li><li><p ><em >--limit=<..num..></em>用于控制 query 和 hot 选项的返回记录数量</p></li><li><p ><em >--flush</em>强制提交搜索日志变动</p></li><li><p ><em >--clean</em>清空搜索日志全部内容</p></li></ul><p><a class="ch" >2. 经典用法示例</a><a class="anchor" ></a><span ></span></p><p >以下是一些常见用法举例:</p><pre >#查看demo项目中热门搜索词
util/Logger.phpdemo
util/Logger.phpdemo--hot=cur
#查询demo项目中"word"相关搜索词汇
util/Logger.phpdemoword
util/Logger.phpdemoword--limit5
#把日志文件words.txt导入dmeo项目中
util/Logger.php--import=words.txtdemo
#清空demo项目中全部搜索日志索引,通常在重建搜索项目或日志数据过于混乱时才需调用
util/Logger.php--cleandemo</pre><p><a class="ch" >3. 导入搜索日志文件</a><a class="anchor" ></a><span ></span></p><p >当您有大批搜索日志词汇需要一并更新时,用<code >--put</code>可能力不从心了,我们特别提供了<code >--import</code>选项用于导入搜索日志文件。</p><p >搜索日志文件必须是<code >UTF-8</code>编码,如果不是请在使用前转换好。文件格式为一行一个词, 每个词后面可以用制表符<code >\t</code>隔开写上搜索次数,默认则为 1 次。以半角的<code >;</code>和<code >#</code>开头的行表示注释。以下为示范文件内容:</p><pre >#这行表示注释,被忽略
更新词
更新词2123</pre><p >导入的用法很简单,只要用<code >--import</code>指定路径即可,导入过程中会依次打印每个词的情况, 命令如下:</p><pre >util/Logger.php--import=/path/to/words.txtdemo</pre><p><a class="ch" >4. 删除搜索词</a><a class="anchor" ></a><span ></span></p><p >热门搜索、相关搜索通常是自动处理的,但如果你不希望出现某些词,可以用<code >--del</code>选项删除这些词。选项的值表示要删除的词,多个词之间用半角的逗号分隔,如果搜索词包含空格, 请使用半角引号包围选项值。用法如下:</p><pre >#删除demo项目中搜索日志词word
util/Logger.php--del=worddemo
#删除demo项目中搜索日志词word和"word1word2"
util/Logger.php--del"word,word1word2"demo</pre><p><a class="ch" >5. 添加/更新搜索词</a><a class="anchor" ></a><span ></span></p><p >您可以用<code >--put</code>选项快速添加、更新少量几个搜索词,常用于替换热门搜索词。 选项的值表示要更新或添加的词,词后面可以用半角的冒号连接搜索次数,若不指定默认为 1 次。 多个词之间用半角的逗号分隔,词汇中包含空格则注意采用引号包围。用法举例:</p><pre >#在demo项目中添加搜索词word次数为1
util/Logger.php--put=worddemo
#在demo项目中添加搜索词word次数为123,添加搜索词"word1word2"次数为456
util/Logger.php--put="word:123,word1word2:456"demo</pre><blockquote class="note" ><p ><strong >Note:</strong>删除、更新、导入搜索词都是异步行为,也就是说执行完命令后需要等待一段时间才能生效。</p></blockquote>