有没有办法从 Searchkick 的查询中排除单词?

Is there a way to exclude words from a query in Searchkick?

我想排除一些用户可能会在搜索栏中输入的字词,因为它们会使结果膨胀。

出于不同的原因,我需要 operator: :or,但是如果我有一个像 "The Beatles" 这样的搜索词,它会在整个数据库中搜索 "The" 和 "Beatles",这是一种方式结果太多。我想从收到的任何查询中排除 "the",这样就好像用户只搜索了 "Beatles"。

也许这是不可能的。感谢帮助

我尝试添加 exclude: ["the"],但这删除了所有包含术语 "the" 的结果。

你试过了吗:

"The Beatles".gsub('The ', '')

Elasticsearch 有很好的解决方案来解决这些问题 - 分析器。

在您的情况下,您需要在映射中实施停止分析器。可以在此处找到详细信息和文档:Stop Analyzer