首页 > 解决方案 > 有没有办法从 Sunspot Solr 查询中获取至少 N 条记录?

问题描述

我正在尝试为某个模型获取至少 3 条记录。我现在面临的问题是,还涉及全文匹配。当我将关键字“Hello”传递给查询时,它工作正常。它只匹配一条记录,因为它是唯一存在的一条。

我希望查询至少获取 3 条记录,即使它们在全文中不匹配。但是应该满足其余的条件。

有没有办法确保满足最低数量?

标签: ruby-on-railssolrfull-text-searchsunspot-solr

解决方案


如果您使用 Apache Solr 的 edismax 查询解析器,您可以尝试对实际查询文本使用“bq”参数(使用大于 1 的提升)并始终设置“q= : ”;除此之外,如果您期望多词查询,您可能还想使用“mm”参数。

通过这种方法,您将在您的搜索中完全重新调用,并且与之前的查询具有相同的相关性,除非您不想使用“bq”以外的地方定义字段级别提升。

我没有将 Sunspot Solr 用于 RoR,但等效术语可能是“mm”的“minimum_match”;“bq”的“增强功能”。


推荐阅读