有没有办法从 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
我想排除一些用户可能会在搜索栏中输入的字词,因为它们会使结果膨胀。
出于不同的原因,我需要 operator: :or
,但是如果我有一个像 "The Beatles" 这样的搜索词,它会在整个数据库中搜索 "The" 和 "Beatles",这是一种方式结果太多。我想从收到的任何查询中排除 "the",这样就好像用户只搜索了 "Beatles"。
也许这是不可能的。感谢帮助
我尝试添加 exclude: ["the"]
,但这删除了所有包含术语 "the" 的结果。
你试过了吗:
"The Beatles".gsub('The ', '')
Elasticsearch 有很好的解决方案来解决这些问题 - 分析器。
在您的情况下,您需要在映射中实施停止分析器。可以在此处找到详细信息和文档:Stop Analyzer