如果发布日期是将来的日期,我想过滤我的文档,而我这样做是
{
"size": 8,
"query": {
"filtered": {
"filter": {
"bool": {
"must": [{
"range": {
"meta.publish_date.date": {
"lte": "now"
}
}
}]
}
}
}
},
"from": 0
}
我现在的问题是,它仅查找过去具有字段“publish_date”的文档。但我也想找到所有没有此字段的文档。
我该如何查询?
提前致谢。
最佳答案
您还可以在响应中包括没有日期字段的文档,如下所示:
{
"from": 0,
"size": 8,
"query": {
"filtered": {
"filter": {
"bool": {
"minimum_should_match": 1,
"should": [
{
"range": {
"meta.publish_date.date": {
"lte": "now"
}
}
},
{
"missing": {
"field": "meta.publish_date.date"
}
}
]
}
}
}
}
}
关于elasticsearch - Elasticsearch bool必须仅在文档中存在字段时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38012023/