我有以下查询为我的搜索添加模糊性 . 但是,我现在意识到匹配查询不考虑搜索字符串中单词的顺序,就像match_phrase那样 . 但是,我不能得到match_phrase给我模糊的结果 . 有没有办法告诉匹配考虑单词之间的顺序和距离?
{
"query": {
"match": {
"content": {
"query": "some search terms like this",
"fuzziness": 1,
"operator": "and"
}
}
}
}
3 回答
最终发现我需要使用
span
查询的组合,这样可以对模糊和污点进行大量微调 . 我需要添加一个函数来手动标记我的短语并以编程方式添加到"clauses"数组:@econgineer优秀的帖子 .
我想尝试使用我们正在处理的ES查询 - 但是我懒得继续做JSON数据....
我认为这段代码有效...奇怪的是它导致jq抱怨但ElasticSearch工作....
如果你美化输出
你应该看到类似的东西
然后查询ES这只是一个正常现象
非常感谢您的初步指导,我希望其他人能够发现这一点 .
确实,一个很好的问答 . 我很惊讶这种“模糊短语匹配”没有开箱即用的支持 .
这是一个经过测试的NodeJS代码,它在多搜索(msearch)的上下文中生成模糊短语匹配(多子句)查询块,但是对于单个搜索,它应该工作相同 .
Usage:
功能: