查询:'goodbye cruel world'
和名为'title'的字段
假设我有文件:
1. {'title': 'goodbye cruel'}
2. {'title': 'goodbye world'}
3. {'title': 'cruel world'}
4. {'title': 'goodbye cruel world'}
5. {'title': 'goodbye very cruel world'}
我希望查询仅匹配文档4和5,因为它们包含查询中的所有术语。我无法想办法实现这一目标。 我想保持字段的长度被索引但是它需要查询每个单词组合,我还能做什么?
我刚想我问了一个错误的问题:(
我将答案标记为正确但我真正想问的是:
查询:'goodbye cruel world'
和名为'title'的字段
假设我有文件:
1. {'title': 'goodbye cruel'}
2. {'title': 'goodbye world'}
3. {'title': 'cruel world'}
4. {'title': 'goodbye cruel world'}
5. {'title': 'goodbye very cruel world'}
5. {'title': 'hello cruel world'}
我想要一个查询来匹配文档1,2,3,4而不是5或6,因为它们没有查询中的所有术语。
(之前我问了一个类似的问题并且答案是正确的,但这不是我真正想要的,所以我将其作为一个不同的问题提交)
答案 0 :(得分:0)
使用match_phrase
1的slop
查询。
{
"query": {
"match_phrase": {
"title": {
"query": "goodbye cruel world",
"slop": 1
}
}
}
}
欲了解更多信息:
http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/slop.html