0

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

这是我发送的请求:

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

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

4

2 回答 2

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”参数在组内进行排序,以防您需要每个组中的多个结果按排序顺序排列。

于 2013-01-02T04:10:38.897 回答
0

使用 sort 参数按价格对结果进行排序。因此,请求变为:-

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

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

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

于 2013-01-01T14:34:57.287 回答