Elasticsearch之Nested Object Mapping

                                         (这是一个小系列:请戳:ElasticsearchNested(嵌套)系列,查看其他nested相关文章)

Setting up a nested field is simple—where you would normally specify type object, make it type nested instead:

  创建一个nested 字段很简单——只要在你通常指定object类型的地方,改成nested类型就行:

 

curl -XPUT 'localhost:9200/my_index' -d '
{
  "mappings":{
     "blogpost":{
	     "properties":{
		     "comments":{
			    "type":"nested",
				"properties":{
				   "name":    {"type":"string"    },
				   "comment": { "type": "string"  },
                   "age":     { "type": "short"   },
                   "stars":   { "type": "short"   },
                   "date":    { "type": "date"    }
				}
			 }
		 }
	 }
  }
}

原文:http://www.elastic.co/guide/en/elasticsearch/guide/master/nested-mapping.html

Easy-es 是一个基于Java的简易Elasticsearch客户端,它提供了一种简化的方式来操作Elasticsearch数据库。在Elasticsearch中,nested类型是一种特殊的数据结构,用于处理包含多个字段的对象数组。Nested对象允许在查询时保持内部对象独立,这在处理对象内部的对象时非常有用。 当你想要将一个nested类型的字段映射为一个Java中的Object类型时,你通常需要定义一个与该nested对象结构相对应的Java类。这个类应该包含与Elasticsearch中的nested字段相同的属性,并使用相应的注解来标记。例如,可以使用Easy-es提供的注解来指定字段类型,索引方式等。 下面是一个简单的例子,说明如何将Elasticsearch中的一个nested类型字段映射到Java的Object类型: ```java @Document(indexName = "your_index") public class YourDocument { // 其他字段... @Field(type = FieldType.Nested) private List<NestedObject> nestedObjects; // getter和setter方法... public static class NestedObject { @Field(type = FieldType.Date) private Date date; @Field(type = FieldType.Text) private String name; // NestedObject的getter和setter方法... } } ``` 在这个例子中,`YourDocument`类代表了Elasticsearch中的文档,`nestedObjects`是一个List类型,它包含了多个`NestedObject`对象。`NestedObject`是一个内部类,它代表了Elasticsearch中的一个nested类型字段,其中包含了自己的字段和类型定义。 当你进行索引、查询等操作时,Easy-es会帮助你将这些操作转换为对应的Elasticsearch操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值