在我之前的问题中,我被介绍了fields
in a query_string
query 以及它如何帮助我搜索文档的嵌套字段。
{
"query": {
"query_string": {
"fields": ["*.id","id"],
"query": "2"
}
}
}
但它只适用于匹配,如果我想做一些比较怎么办?经过一些阅读和测试,似乎range
不支持这样的查询fields
。有什么方法可以range
对可以分散在文档层次结构中任何位置的字段执行查询,例如在日期上?
即考虑以下文件:
{
"id" : 1,
"Comment" : "Comment 1",
"date" : "2016-08-16T15:22:36.967489",
"Reply" : [ {
"id" : 2,
"Comment" : "Inner comment",
"date" : "2016-08-16T16:22:36.967489"
} ]
}
由于嵌套字段,是否有查询搜索与给定文档匹配的date
字段(如date > '2016-08-16T16:00:00.000000'
),而没有明确给出地址Reply.date
?像这样的东西(我知道以下查询不正确):
{
"query": {
"range" : {
"date" : {
"gte" : "2016-08-16T16:00:00.000000",
},
"fields": ["date", "*.date"]
}
}
}