我正在升级到elasticsearch 5.2并拥有以下查询,现在这个查询失败了,因为"缺少"不推荐使用过滤器:
{
"query": {
"bool": {
"should": [
{
"missing": {
"field": "birthday"
}
},
{
"range": {
"birthday": {
"lte": "20131231"
}
}
}
]
}
}
}
因此,我正在寻找丢失生日字段或生日少于12/31/2013的文档。建议更换"缺失"是to use "must_not"。我明白了,但我现在怎么做同样的#34;或者#34;查询我以前怎么回事?我有:
{
"query": {
"bool": {
"should": {
"range": {
"birthday": {
"lte": "20131231"
}
}
},
"must_not": {
"exists": {
"field": "birthday"
}
}
}
}
}
答案 0 :(得分:0)
你走在正确的道路上,几乎就在那里:
{
"query": {
"bool": {
"should": [
{
"range": {
"birthday": {
"lte": "20131231"
}
}
},
{
"bool": {
"must_not": {
"exists": {
"field": "birthday"
}
}
}
}
]
}
}
}