【问题标题】:Elasticsearch: querying on both nested object properties and parent propertiesElasticsearch:查询嵌套对象属性和父属性
【发布时间】:2016-02-22 10:02:33
【问题描述】:

我有一些文档在嵌套对象中包含嵌套对象:

{
    "started_at": 1455088063966,
    "ended_at": 1455088131966,
    "tags": [{
        "type": "transfer",
        "at": 1455088064462,
        "events": [{
            "type": "transfer_processed",
            "at": 1455088131981

        }]
    }, {
        "at": 1455088138232,
        "item": "tag",
        "type": "info"
    }]
}

这里,主文档有几个嵌套对象(标签),每个标签都有几个嵌套对象(事件)。

我想获取 transfer_processed 类型的事件在 transfer 类型的标记后 60000 毫秒发生的所有文档。 为此,我需要同时查询 tags.attags.typetags.events.attags。 events.type。而且我不知道如何:我只设法查询 tags.events 属性,或者只查询 tags 属性,而不是两者。

【问题讨论】:

    标签: elasticsearch nested


    【解决方案1】:

    嵌套对象实际上是独立的 Lucene 文档,因此您实际上是在尝试将多个文档“连接”在一起以进行比较。不幸的是,这不受 Elasticsearch 支持。

    Have a look at this similar question and answer which explain it well.

    【讨论】:

    • 耻辱。这意味着我需要向我的嵌套对象添加属性,这样我就不需要查询它们的父属性。谢谢。
    猜你喜欢
    • 2015-03-13
    • 1970-01-01
    • 2015-10-02
    • 2012-04-04
    • 2019-12-06
    • 1970-01-01
    • 1970-01-01
    • 2019-07-22
    • 1970-01-01
    相关资源
    最近更新 更多