若Elasticsearch字段名与Java实体类属性名不一致,
则查询到的数据全部为Null,
这时我们只需要在Java实体类对应的属性名上与ElasticSearch的字段名进行映射即可,
使用 @Field( name = "XXX" ) 就可以 与 ElasticSearch 的字段名进行映射了
一些常用的注解:
@Document注解使用
-
@Document注解作用在类上,标记实体类为文档对象,常用属性如下:
(1)indexName:对应索引库名称;
(2)type:对应在索引库中的类型;
(3)shards:分片数
(4)replicas:副本数;
@Field注解使用
-
@Field作用在成员变量,标记为文档的字段,并制定映射属性;
(1)@Id:作用在成员变量,标记一个字段为id主键;一般id字段或是域不需要存储也不需要分词;
(2)type:字段的类型,取值是枚举,FieldType;
(3)index:是否索引,布尔值类型,默认是true;
(4)store:是否存储,布尔值类型,默认值是false;
(5)analyzer:分词器名称
(6)name : 与Elasticsearch 中的字段名映射