【问题标题】:Solr - higher score for higher product pricesSolr - 更高的产品价格获得更高的分数
【发布时间】:2013-01-01 09:44:03
【问题描述】:

我正在使用 Solr 在我的目录中搜索产品。 我想知道如何为价格较高的产品打高分?

这是我发送的请求:

http://localhost:8080/solr/collection1/query?q=iphone&rows=4&fq=price:[*+TO+500]

我有很多 iPhone 手机壳,所以我想以更高的价格显示结果(为了获得 iPhone 蜂窝机器),或者如果可能的话,显示 1 个价格范围 0 - 50 的结果,另一个 50 的结果 - 100 个等等,这样我就可以展示几个类别的几个产品。

【问题讨论】:

  • fq 参数不会改变分数,只有文本搜索会这样做。我认为应该使用 sort 来获得您想要的结果。

标签: solr


【解决方案1】:

要为每个价格范围显示 1 个结果,请使用 Solr Grouping

您可以使用类似的查询,

http://localhost:8080/solr/collection1/query?q=iphone&rows=4&group=true&group.query=price:[0 TO 50]&group.query=price:[51 TO 100]

如果您愿意,您还可以将 group.main=true 设置为参数,以获得正常格式的响应。

您可以使用 'group.limit' 参数来限制每个组中的结果数。

您还可以使用 'group.sort' 参数在组内进行排序,以防您需要按排序顺序从每个组中获得多个结果。

【讨论】:

    【解决方案2】:

    使用 sort 参数按价格对结果进行排序。所以,请求变成了:-

    http://localhost:8080/solr/collection1/query?q=iphone&rows=4&fq=price:[*+TO+500]&sort=price desc
    

    我不确定是否要针对不同的价格范围显示 1 个结果,但也许,您可以使用分面来做到这一点。

    http://searchhub.org/2009/09/02/faceted-search-with-solr/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-14
      • 1970-01-01
      • 1970-01-01
      • 2019-04-02
      • 1970-01-01
      • 1970-01-01
      • 2015-03-24
      • 1970-01-01
      相关资源
      最近更新 更多