如何在elasticsearch中使用脚本加入父子记录?

时间:2018-04-24 08:41:52

标签: java elasticsearch

"parentrecord": {
    "properties": {
        "id": {
            "type":"integer"
        },  
        "parentDate":{
            "type":"date"
        }
    }
},  
"childrecord": {
    "properties": {
        "id": {
            "type":"integer"
        },
        "childDate":{
            "type":"date"
        }
    },
    "_parent": {
        "type":"parentrecord"
    }
}

我希望使用Elasticsearch中的脚本获得parentDate和childDate之间的平均差异。

我无法在脚本中连接child和parent。

注意:childDate总是大于parentdate。

1 个答案:

答案 0 :(得分:0)

在ElasticSearch中无法加入父级和子级字段。阅读有关功能请求here的信息。 ElasticSearch以类似的方式处理父类型和子类型。虽然您可以正常查询,但ES只是通过在类型映射结构中使用_parent字段来维护两种不同类型之间的关系。要加入父字段和子字段,ElasticSearch必须从脚本中查找另一个文档,这被认为是一项昂贵的操作。