elasticsearch,logstash,kibana,Json,elasticsearch,Logstash,Kibana" /> elasticsearch,logstash,kibana,Json,elasticsearch,Logstash,Kibana" />

Json 如何在elasticsearch中通过数组索引获取特定元素

Json 如何在elasticsearch中通过数组索引获取特定元素,json,elasticsearch,logstash,kibana,Json,elasticsearch,Logstash,Kibana,假设我存储了这个文档 示范数据 映射代码 我的问题:我想得到“projects”数组的第二个元素,它对应于某个特定的名称,例如“name”:“khalid” 到目前为止我所尝试的: 我是ES新手,我在论坛上搜索答案,有人建议指定“项目”键的映射。我也试过了,我面临的问题是 1.当我创建空索引时,首先指定映射,然后插入数据,我会得到一个类似“原因”的错误:“对象映射[“项目”]不能从嵌套更改为非嵌套” 2.当我创建空索引时,首先插入数据,然后指定映射,我得到一个错误,如“原因”:“索引[]已存在”

假设我存储了这个文档

示范数据 映射代码 我的问题:我想得到“projects”数组的第二个元素,它对应于某个特定的名称,例如“name”:“khalid”

到目前为止我所尝试的: 我是ES新手,我在论坛上搜索答案,有人建议指定“项目”键的映射。我也试过了,我面临的问题是 1.当我创建空索引时,首先指定映射,然后插入数据,我会得到一个类似“原因”的错误:“对象映射[“项目”]不能从嵌套更改为非嵌套”
2.当我创建空索引时,首先插入数据,然后指定映射,我得到一个错误,如“原因”:“索引[]已存在” 让我明确指定每个字段的映射

提前谢谢

{"name": "haris","projects": [{"title": "Splunk"},{"title": "QRadar"},{"title": "LogAnalysis"}]}

{"name": "khalid","projects": [{"title": "MS"},{"title": "Google"},{"title": "Apple"}]}

{"name": "Hamid","projects": [{"title": "Toyota"},{"title": "Honda"},{"title": "Kia"}]}
PUT index_name
{
   "mappings": {
      "iterations_type": {
         "properties": {
            "projects": {
               "type": "nested",
               "include_in_parent": true
            }
         }
      }
   }
}