ruby-on-rails - 有没有办法从 Sunspot Solr 查询中获取至少 N 条记录?
问题描述
我正在尝试为某个模型获取至少 3 条记录。我现在面临的问题是,还涉及全文匹配。当我将关键字“Hello”传递给查询时,它工作正常。它只匹配一条记录,因为它是唯一存在的一条。
我希望查询至少获取 3 条记录,即使它们在全文中不匹配。但是应该满足其余的条件。
有没有办法确保满足最低数量?
解决方案
如果您使用 Apache Solr 的 edismax 查询解析器,您可以尝试对实际查询文本使用“bq”参数(使用大于 1 的提升)并始终设置“q= : ”;除此之外,如果您期望多词查询,您可能还想使用“mm”参数。
通过这种方法,您将在您的搜索中完全重新调用,并且与之前的查询具有相同的相关性,除非您不想使用“bq”以外的地方定义字段级别提升。
我没有将 Sunspot Solr 用于 RoR,但等效术语可能是“mm”的“minimum_match”;“bq”的“增强功能”。
推荐阅读
- javascript - 未捕获的类型错误:仅在主页上无法读取 null 的属性“addEventListener”
- julia - 使用/导入的 Julia 元编程
- vba - 如何使用 VBA 查找 SQL 的服务器名和用户名?
- ios - 使用委托协议将数据从 tableView Cell 传递到另一个视图控制器
- scala - 为什么 maven 在进行全新安装时会给我这个 Scala 错误
- android - 活动窗口隐藏汉堡图标和导航工具栏
- python-3.x - 使用 PyQT5 在 QLCDNumber 上显示传感器输出
- c# - 在实体框架中执行sql查询时如何绑定部分类的额外属性?
- ios - React-Native + Apollo-Link-State + AWS Appsync:默认值不存储在缓存中
- c# - unity c# byte array to struct 包含数据数组