Solr - 更高的产品价格得分更高

时间:2013-01-01 09:44:04

标签: solr

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

这是我发送的请求:

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

我收到了很多iPhone手机套,所以我希望以更高的价格获得结果(要获得iPhone手机),或者如果有可能在价格范围0到50之间显示1个结果,另一个用于50 - 100等等,这样我就可以展示少数类别的产品。

2 个答案:

答案 0 :(得分: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'参数在组内进行排序,以防每个组按排序顺序需要多个结果。

答案 1 :(得分:0)

使用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/