【问题标题】:Is there any way to annotate solr logs?有没有办法注释 solr 日志?
【发布时间】:2013-07-25 16:51:24
【问题描述】:

我希望我的代码的不同部分在我的 Solr 日志中进行注释,以便我知道代码的哪些部分正在生成哪些查询。

日志行当前如下所示:

INFO: [collection1] webapp=/solr path=/select/params={fq=dateFiled:[2007-01-01T00:00:00Z+TO+2007-12-31T00:00:00Z]&fq=status :Precedential&fq=westCite:"509+F.3d+173"} hits=0 status=0 QTime=2

我更喜欢这样说:

INFO: [collection1] webapp=/solr path=/select/params={fq=dateFiled:[2007-01-01T00:00:00Z+TO+2007-12-31T00:00:00Z]&fq=status :Precedential&fq=westCite:"509+F.3d+173"} hits=0 status=0 QTime=2 Source=Scraper

INFO: [collection1] webapp=/solr path=/select/params={fq=dateFiled:[2007-01-01T00:00:00Z+TO+2007-12-31T00:00:00Z]&fq=status :Precedential&fq=westCite:"509+F.3d+173"} hits=0 status=0 QTime=2 Source=user-query

或者类似的东西。

我想我可以通过在查询中使用否定来做到这一点,所以每个查询都有类似-source:scraper 的内容。这不应该对查询产生太大影响(猜测它会是一个微不足道的性能损失,因为我缺少 source 字段),它可以达到目的,但我希望有更好的方法。

【问题讨论】:

    标签: logging solr


    【解决方案1】:

    我可以看到几个解决方案:

    1. 只需添加未在任何地方使用的额外查询参数。比如:

      &source=Scraper
      &source=user-query
      

      最终应该是:

      INFO: [collection1] webapp=/solr path=/select/ params={fq=dateFiled:[2007-01-01T00:00:00Z+TO+2007-12-31T00:00:00Z]&fq=status:Precedential&fq=westCite:"509+F.3d+173"&source=Scraper} hits=0 status=0 QTime=2
      
      INFO: [collection1] webapp=/solr path=/select/ params={fq=dateFiled:[2007-01-01T00:00:00Z+TO+2007-12-31T00:00:00Z]&fq=status:Precedential&fq=westCite:"509+F.3d+173"&source=user-query} hits=0 status=0 QTime=2
      

      (我看起来不是很好,但您可以从日志中过滤过滤您需要的内容)

    2. 设置不同的查询处理程序,一个用于 Scraper,另一个用于用户查询。然后您的日志将如下所示:

      INFO: [collection1] webapp=/solr path=/scraper/ params={fq=dateFiled:[2007-01-01T00:00:00Z+TO+2007-12-31T00:00:00Z]&fq=status:Precedential&fq=westCite:"509+F.3d+173"} hits=0 status=0 QTime=2
      
      INFO: [collection1] webapp=/solr path=/user-query/ params={fq=dateFiled:[2007-01-01T00:00:00Z+TO+2007-12-31T00:00:00Z]&fq=status:Precedential&fq=westCite:"509+F.3d+173"} hits=0 status=0 QTime=2
      
    3. 编写非常小的自定义插件,可以尝试向日志中添加额外信息(可能基于选项 1 中的信息)

    选项 1 和 2 不会产生任何性能后果,而且它们非常容易实施。选项 3 可能会花费您一些时间来实现和执行(每个查询可能不到 1 毫秒)

    【讨论】:

    • 谢谢。看起来秘密查询参数将是要走的路。
    猜你喜欢
    • 1970-01-01
    • 2013-11-13
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 2016-08-25
    • 2017-06-03
    • 2013-04-26
    相关资源
    最近更新 更多