【问题标题】:how to get only the branch of the searched elastic nested object如何仅获取搜索到的弹性嵌套对象的分支
【发布时间】:2021-09-01 22:11:33
【问题描述】:

我有一个很大的弹性搜索嵌套对象。 但是当查询内部嵌套对象时 - 嵌套查询总是返回根。 是否可以只返回我搜索的嵌套对象的分支?

例如,我的嵌套对象:

root: 
{
  NestedObjectA: 
    {valueA: 1, 
     array_of_nested_B_objects: 
       [{valueB: 2}, {valueB:3}] 
    }
}

所以如果我在 array_of_nested_B_objects 中搜索值为 3 的对象 - 我根本不想获得值为 2 的对象。

thnx

【问题讨论】:

    标签: elasticsearch elastic-stack elasticsearch-5


    【解决方案1】:

    您可以在嵌套查询中使用inner_hits,以仅获取与您的查询匹配的结果中的嵌套对象

    【讨论】:

    • @eyal gromzin 您能否分享您的索引映射和完整的示例索引数据,以便我可以提供相同的工作示例
    • inner hits 已经足够好的答案了,剩下的我自己来做。但还有其他方法吗?这是正确的方法吗?
    • @eyalgromzin 这是您在结果中获得匹配的嵌套对象的唯一方法,是的,这是正确的方法
    猜你喜欢
    • 2015-12-22
    • 2018-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多