【问题标题】:SOLR - Limiting Search ResultsSOLR - 限制搜索结果
【发布时间】:2013-06-18 08:38:53
【问题描述】:

有没有办法限制 SOLR 返回的搜索结果的数量。我正在为希望将搜索结果限制为 100(基于搜索分数)的客户工作。我可以使用行,但这只会限制每页的结果,而不是总结果。这样做的问题是,如果使用 SOLR 的排序功能,它将对所有结果进行排序,并且基于分数排名第 105 位的产品可能会因为价格低廉而排在首位。我希望排序只发生在前 100 个结果中。有没有办法做到这一点?

感谢您的帮助!

太棒了

【问题讨论】:

  • 你的意思是你需要先获取 100 行,然后对 100 行进行排序?
  • 是的。获取前 100 行,然后根据价格或名称对它们进行排序。

标签: solr


【解决方案1】:

您可以使用Sort By Function

您必须使用rows=100 以正常方式查询并添加&sort=<query>

我无法尝试,因为我现在没有 Solr 实例。请让我知道 ti 是否有效。

【讨论】:

  • 感谢您的回答。我已经试过了。它给出了结果中价格最低的 100 个产品,而不是按价格排序(或排序)的前 100 个(基于搜索分数)相关产品。例如如果 SOLR 为查询返回 700 个结果,则 rows=100 和 sort=price asc 将返回 700 个价格最低的产品中的 100 个。我正在寻找的是我们是否可以将 SOLR 限制为仅生成 100 个结果,或者如果这是不可能的,则使用 rows=100 获得 100 个结果并对这 100 个结果执行排序。我也尝试过 sort=score desc,price asc 但这也无济于事。
猜你喜欢
  • 1970-01-01
  • 2016-10-02
  • 1970-01-01
  • 1970-01-01
  • 2012-11-30
  • 2013-10-07
  • 1970-01-01
  • 1970-01-01
  • 2012-01-24
相关资源
最近更新 更多