我正在使用Solr在我的目录中搜索产品。 我想知道如何为价格较高的产品提供更高的分数?
这是我发送的请求:
http://localhost:8080/solr/collection1/query?q=iphone&rows=4&fq=price:[*+TO+500]
我收到了很多iPhone手机套,所以我希望以更高的价格获得结果(要获得iPhone手机),或者如果有可能在价格范围0到50之间显示1个结果,另一个用于50 - 100等等,这样我就可以展示少数类别的产品。
答案 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个结果,但也许您可以使用分面来实现这一目标。