当使用match_phrase和'slop'进行邻近搜索时,高亮标签会分别出现在每个单词上,所以我不知道匹配的位置。
例如,如果我在slop = 1的文本“快速棕色狐狸”中搜索短语“quick fox”,我会在“快速”和“狐狸”上获得“em”标签的结果: 快速棕色狐狸
我需要的是整个“快速棕色狐狸”强调,(从第一个到最后找到的单词连接,即满足查询的单词序列)。
当match_phrase包含许多单词并在文本中多次找到时,手动查找它可能会很复杂。
有没有办法设置elasticsearch来返回它?
答案 0 :(得分:1)
Elasticsearch对您的文档和搜索进行标记(基本上为您提供的示例将其拆分为空间)。 match_phrase
将确保在您的文档令牌中按顺序找到这些搜索令牌。然后,突出显示器将突出显示每个令牌。我认为用Elastiscearch做你想做的事很难。