【发布时间】:2019-07-24 08:50:37
【问题描述】:
当查询中的短语匹配时,Redisearch 是否有任何方法来提升,即使它不是精确的短语查询,例如如果搜索是sushi bar,the 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