当前位置: 首页 > 面试题库 >

Elasticsearch:同时查询嵌套对象属性和父属性

薛霄
2023-03-14
问题内容

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

{
    "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 类型的标签后发生60000毫秒 转移 。为此,我需要同时查询
tag.attags.typetags.events.attags.events.type
。而且我不知道怎么做:我只设法对tags.events属性进行查询,或者仅对tag属性进行查询,而不能同时进行查询。


问题答案:

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



 类似资料:
  • 我有一些文档在嵌套对象中有嵌套对象: 在这里,主文档有几个嵌套的对象(标记),对于每个标记有几个嵌套的对象(事件)。 我希望获得transfer_processed类型的事件在transfer类型的标记之后60000毫秒内发生的所有文档。为此,我需要查询tags.at、tags.type、tags.events.at和tags.events.type。我不知道如何查询:我只查询tags.event

  • 尊敬的弹性搜索专家, 我在查询嵌套对象时遇到问题。允许使用以下简化映射: 并将一些文档放在索引中: 现在我想执行这样的查询: 因此,我想得到匹配的公司与数量匹配的文件。因此,上面的查询应该会告诉我: 以下查询: 应该给我所有公司分配到一个文件,其标题包含“GPU”与匹配的文件数量: 如果表现良好,是否有可能实现这一结果?我显然对匹配的文档不感兴趣,只对匹配文档和嵌套对象的数量感兴趣。 谢谢你的帮助

  • 我正在尝试查询spring data elasticsearch存储库中的嵌套属性。我的存储库如下所示: 域对象Person和Address(无getter/setter)定义如下: 我的测试保存一个人的文档,并尝试使用repository方法读取它。但没有返回任何结果。以下是测试方法: spring data elasticsearch是否支持默认的spring数据查询生成?

  • 我想用flow注释以下内容: 我知道如何对进行类型检查,以使的类型为(如上所示),但如何对其属性进行类型检查? 已经尝试过这个: 但是flow只是抱怨从未使用过和。

  • 问题内容: 这是我在elasticsearch中存储在索引上的数据类型。我必须找到包含主要成分牛肉(且重量小于1000)和成分-(辣椒粉且重量小于250),(橄榄油和重量小于300)以及所有其他成分类似的食谱。 索引的映射是 我的查询是 但这给了Null。有人可以帮我吗?我认为我没有正确使用嵌套查询 问题答案: 试试这个:

  • 问题内容: 如何在索引映射定义中将嵌套属性复制到包含POCO的字段中? 当两个字段处于同一对象级别时, 我能够成功地将一个属性复制到另一个属性中 。 但是,我正在努力将嵌套对象上的属性复制到父对象上的属性。 给定以下对象,我想将“街道”从“人”的“地址”属性复制到“人”的“搜索”属性中 如下所示,将“姓氏”映射到“搜索”很简单。 但是我无法弄清楚将’Person.Address.Street’复制