我想使用日期范围查询,如下所示:
(DataTable)Session["data"];
我的索引也包含截止日期的空值。我想在搜索结果中获取那些null日期文档以及范围中的日期。如何将日期范围与" must_not"弹性5.x中存在查询
答案 0 :(得分:11)
我认为 bool查询可以解决问题。
{
"query": {
"bool": {
"should": [
{
"range": {
"deadline": {
"gte": "2016-12-14"
}
}
},
{
"bool": {
"must_not": {
"exists": {
"field": "deadline"
}
}
}
}
]
}
}
}
在Elasticsearch索引中, null 值不存在,因此我们使用 exists query 。使用缺少的查询将不那么详细,但它是deprecated since 2.2。
我没有足够的信息,因此我的示例在查询上下文中运行,但在这种情况下,过滤器上下文可能会更方便。