【问题标题】:Multiple ranges in a facet in solrsolr中一个方面的多个范围
【发布时间】:2012-09-25 09:32:36
【问题描述】:

如何格式化 Solr 构面查询以包含两个页面查看范围?

以下将仅返回 200 TO 250 范围,而不会返回 500 to 550 范围。

<str name="fq">pageviews:[200 TO 250] OR [500 TO 550]</str>

我渴望获得与页面浏览量在 200 到 250 之间以及在 500 到 550 之间的人匹配的记录数。

【问题讨论】:

    标签: solr lucene facet


    【解决方案1】:

    您也可以如下所示使用它。

    fq=pageviews:([200 TO 250] OR [500 TO 550])
    

    【讨论】:

      【解决方案2】:

      我相信这个问题的完整答案应该包括一种配置这些“重复”方面的所有参数的方法。这就是在 Solr 4.4.0 中使用 JSON 的方式。

      "facet.range": [
      
          "{!key=twohundred " +
              "f.pageviews.facet.range.start=200 " +
              "f.pageviews.facet.range.end=250 " + 
              "f.pageviews.facet.range.gap=1 " +
          "}pageviews",
      
          "{!key=fivehundred " +
              "f.pageviews.facet.range.start=500 " +
              "f.pageviews.facet.range.end=550 " + 
              "f.pageviews.facet.range.gap=10 " +
          "}pageviews"
      
      ]
      

      (请注意,数组中的每个条目都应该是一个没有换行符的字符串,但为了清楚起见,在这里进行了划分。)

      这样每个方面都可以单独标记、修改(我将间隔更改为“五百”),或者可以添加任何其他参数(例如“facet.range.other”)。

      来源:https://issues.apache.org/jira/browse/SOLR-1351

      【讨论】:

      • 这让我获得了大部分的成功,并且通过一些小的调整,我能够获得我正在寻找的结果。在本地参数中为每个字段指定 facet.range 参数时我没有运气,但这确实对我有用:facet.range={!key=twohundred_to_twofifty facet.range.start=200 facet.range.end=250 facet.range.gap=1}pageviews&amp;facet.range={!key=fivehundred_to_fivefifty facet.range.start=500 facet.range.end=550 facet.range.gap=10}pageviews
      【解决方案3】:

      原来我每次都需要提到这个领域:

      pageviews:[200 TO 250] OR pageviews:[500 TO 550]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-28
        • 2012-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-04
        • 1970-01-01
        • 2021-02-24
        相关资源
        最近更新 更多