我想获取与给定的两个术语完全匹配的所有文档,即 id = 100 AND name = xyz
我的查询
query: {
constant_score: {
filter: {
bool: {
must: [
{ term: { id: '100' } },
{ term: { name: 'xyz' } },
],
},
},
},
}
但是这会给出所有匹配id或name或两者的文档。 我只想要那些匹配这两个属性的文档,它们应该完全匹配。
我该怎么做?
我抬头看了看。 elasticsearch
提前致谢。
编辑
ES版本 - 2.1.1
答案 0 :(得分:0)
这应该这样做:
{
"query": {
"bool": {
"must": [
{"match": {"id": "100"}},
{"match": {"name": "XYZ"}}
]
}
}
}
答案 1 :(得分:0)
{
"query": {
"bool": {
"must": [
{"match": {"id": "100"}},
{"match": {"name": "XYZ"}}
]
}
}
}
上面的代码应该可以解决问题。如果这不起作用,则index_option或分析器设置可能有问题。你能把你的映射吗?