【问题标题】:Redisearch: Boosting on query phrase matchRedisearch:提升查询短语匹配
【发布时间】:2019-07-24 08:50:37
【问题描述】:

当查询中的短语匹配时,Redisearch 是否有任何方法来提升,即使它不是精确的短语查询,例如如果搜索是sushi barthe sushi bar review 应该超过sushi is best, bar none,而两者仍然匹配。我想知道这样的提升是否是默认行为,如果不是,有没有办法在查询中设置它?

如果是这样,是否需要关闭NOOFFSETS(因为我假设它会依赖偏移数据)?

Similar question for ElasticSearch. 似乎有一个答案是should 而不是must,但我认为这在 Redisearch 中不是一回事。我也想知道 Redisearch 程序集是否可以处理它,但不确定语法是否可以以这种方式提升。

【问题讨论】:

  • 您需要使其成为完全匹配的词组,但还需要使用距离(即“slop”)以允许在术语之间添加更多单词。让我知道这是否有效,我会给出正确的答案
  • 谢谢。不过,这并不是我真正想要的,因为我希望它以任何顺序(和任何距离)匹配术语,即只是一个常规搜索,除了提高精确匹配。
  • 好像你可以做类似(sushi bar) => {$weight: 10} ~("sushi bar") => {$weight: 20}
  • 谢谢,一些快速测试表明这很有效。如果您愿意,可以将其添加为答案。

标签: full-text-search redisearch


【解决方案1】:

您可以执行(sushi bar) => {$weight: 10} ~("sushi bar") => {$weight: 20} 之类的操作。解释是sushi bar作为交集(AND)查询;而确切的短语 "sushi bar" 是可选的 (~) 助推器查询。

【讨论】:

    猜你喜欢
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 1970-01-01
    相关资源
    最近更新 更多