【问题标题】:Is it possible to retrieve an object in an array that matches my query using elasticsearch?是否可以使用弹性搜索检索与我的查询匹配的数组中的对象?
【发布时间】:2018-05-15 07:37:47
【问题描述】:

给定这样的文件:

{
  "id": "12345",
  "elements": [
    {
    "type": "configure",
    "time": 3000
    }
  ]
}

是否可以在元素数组中查询具有 typeconfigure 的对象的文档,然后在数组中检索该特定对象,以便我也可以获得与相关联的 time 值那个元素(在本例中为 3000)?

【问题讨论】:

  • 尝试添加 "_source": ["elements"] 以获取文档中的元素对象
  • 这让我得到了元素,但我想要元素数组中匹配的特定对象,所以在这种情况下它会 { "type": "configure, "time": 3000 }。

标签: elasticsearch


【解决方案1】:

您可以使用nested inner_hits 检索与嵌套查询匹配的嵌套对象的详细信息。请注意,elements 需要映射为 nested datatype field

【讨论】:

  • 酷,这完成了我想要的。
猜你喜欢
  • 2021-01-18
  • 2014-06-02
  • 1970-01-01
  • 2021-07-17
  • 2020-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-04
相关资源
最近更新 更多