我在Elasticsearch中有这个JSON结构。我在创建DSL时遇到问题,无法搜索null
范围为awsKafkaTimestamp
A和B之间的所有post.timestamp
值。我该怎么做?
{
"tracer": {
"post": {"timestamp": 123123},
"awsKafkaTimestamp": null,
"qdcKafkaTimestamp": null
}
}
答案 0 :(得分:1)
试试这个:(适用于ES 2.4 - 不适用于2.2及以下版本)
{
"fields" : ["your_field"],
"query" : {
"bool" : {
"must_not" : {
"exists" : {
"field" : "awsKafkaTimestamp "
}
},
"must" : [{
"nested" : {
"path" : "post",
"filter" : {
"bool" : {
"must" : {
"range" : {
"post.timestamp" : {
"lte" : A,
"gte" : B
}
}
}
}
}
}
}
]
}
}
}