【发布时间】:2016-10-18 10:51:19
【问题描述】:
假设我有一个简化的组织文档,其中包含像这样的嵌套发布值(ES 2.3):
{
"organization" : {
"dateUpdated" : 1395211600000,
"publications" : [
{
"dateCreated" : 1393801200000
},
{
"dateCreated" : 1401055200000
}
]
}
}
我想查找所有发布 dateCreated
{
"query": {
"nested": {
"path": "publications",
"query": {
"bool": {
"filter": [
{
"script": {
"script": "doc['publications.dateCreated'].value < doc['dateUpdated'].value"
}
}
]
}
}
}
}
}
我的问题是,当我执行嵌套查询时,嵌套查询无法访问根文档值,所以doc['dateUpdated'].value 无效,我得到 0 次命中。
有没有办法将值传递给嵌套查询?还是我的嵌套方法完全在这里?如有必要,我想避免为出版物创建单独的文档。
谢谢。
【问题讨论】:
-
elastic.co/guide/en/elasticsearch/reference/master/… 存储字段 — 明确标记为“存储”的字段:true — 可以使用 _fields['field_name'].value 或 _fields['field_name'].values 语法访问。跨度>
-
也许你可以试试这个?
标签: elasticsearch