【ES】--Elasticsearch的Nested类型介绍
    		       		warning:
    		            这篇文章距离上次修改已过437天,其中的内容可能已经有所变动。
    		        
        		                
                在Elasticsearch中,nested类型是一种特殊的对象数据类型,它允许你在一个对象数组中索引嵌套的JSON对象,并且能够对这些嵌套对象进行独立的查询。
当你有一组嵌套对象,并且希望每个对象都是一个独立的文档,可以使用nested类型。nested类型的主要特点是它会保持对象之间的关系,让你可以在嵌套的对象上执行复杂的查询。
下面是一个创建包含nested类型字段的Elasticsearch映射(mapping)的例子:
PUT /my_index
{
  "mappings": {
    "properties": {
      "nested_field": {
        "type": "nested"
      }
    }
  }
}在这个映射中,nested_field是一个nested类型的字段,它可以包含一组嵌套的对象。
以下是如何索引一个包含nested类型字段的文档的例子:
POST /my_index/_doc/1
{
  "nested_field": [
    {
      "name": "John",
      "age": 30
    },
    {
      "name": "Jane",
      "age": 25
    }
  ]
}要查询嵌套字段中的特定对象,你需要使用nested查询:
POST /my_index/_search
{
  "query": {
    "nested": {
      "path": "nested_field",
      "query": {
        "match": {
          "nested_field.name": "John"
        }
      }
    }
  }
}这个查询会搜索nested_field中name字段为"John"的所有嵌套对象。
评论已关闭