【问题标题】:Logging Search Keywords in Solr / Lucene在 Solr / Lucene 中记录搜索关键字
【发布时间】:2011-01-07 16:44:15
【问题描述】:

我是 Solr 的新手,正在寻找一种将搜索(或关键字)记录到日志文件或数据库的方法,以便我可以分析数据可视化。

  • Solr 已经可以做到了吗?
  • 是否可以通过以下方式访问此数据。 Solr 查询?

谢谢。


更新 1

我开始认为我可能需要编写自己的 Solr 分析器?

【问题讨论】:

  • 好问题...希望您能找到解决方案。
  • 您使用的是什么客户端平台?

标签: logging lucene solr keyword search


【解决方案1】:

我认为这取决于您要记录的内容?您是否只想记录用户提交的查询以及结果?如果它只是“人们在搜索什么”,那么您在 q 参数中拥有该数据,该参数由 servlet 容器记录。如果您使用默认的 Jetty 设置,请查看 ./logs/*request.log。您将看到如下行:

0:0:0:0:0:0:0:1%0 -  -  [21/01/2010:15:08:29 +0000] "GET /solr/select/?q=*:*&qt=geo&lat=45&long=15&radius=10 HTTP/1.1" 200 197 

在这种情况下,您可以解析出用户正在执行 q=: 搜索!使用AWStats 之类的工具来解析您的日志并进行分析。这至少是获取一些信息的快捷方式!

【讨论】:

  • 如果不想写 java 代码(wrt @yuval 回答),写脚本会很快。
  • 日志条目的最后两个数字(这里:'200 197')是什么? - 谢谢
  • RngTng,数字是响应代码,HTTP 200,表示一切正常,197 是时间(我认为)以毫秒为单位。也可能是结果的大小,不确定。
  • @EricPugh 找到 request.log 但该文件为空。请指教。
【解决方案2】:

几个月后……也许有人感兴趣:

http://karussell.wordpress.com/2010/10/27/feeding-solr-with-its-own-logs/

(如果您不使用默认的 solr 输出格式,则需要调整日志解析器)

【讨论】:

    【解决方案3】:

    SolrLogging wiki 页面说您可以在 Solr 1.4 中使用 JDK logging(在 Solr 1.0 到 1.3 中)或 slf4j logging。 关于您自己的 Solr 分析仪 - 这取决于您的需求。在许多情况下,使用您自己的分析器有助于满足特定的检索要求。

    【讨论】:

    • 这将非常合适,因为您可能希望使用 jdbc 来记录这些发现。但是,根据流量的猛烈程度,在搜索期间进行同步 jdbc 调用可能会成为瓶颈。记录到文件并在单独的进程中解析可能会更好。
    【解决方案4】:

    您可以查看logstash 之类的内容来解析您的日志数据。

    【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-06
    • 1970-01-01
    相关资源
    最近更新 更多