前言:本章主要对spring &  elasticsearch  中创建实体类及其当中的索引注解做详细解释说明

引入前文 

我们前面spring &  elasticsearch整合用提到索引注解,当时就单列了最主要的三个注解(indexName 、type、@id)的使用,这里便对Spring Data Elasticsearch 下注解做下详细说明!! (前文如下图)

[ElasticSearch系列四] spring & elasticSearch (linux) 整合【附图解说】_萌小崔的博客-CSDN博客

 

这里对实体类索引注解划分为两个部分,便于大家更易理解原理及使用!!! 


 

1、【类上注解】@Document 注解  (标记实体类为文档对象)

 【插入】还不太懂实体类及文档对象之间关系的建议阅读之前文档,有详细解答,一看就懂!!

[ElasticSearch系列一] ElasticSearch基本概念及特性【明细】_萌小崔的博客-CSDN博客

@Document 源码分析  

案例(一般默认,可以指定,indexName、type是必要属性)


2、【成员变量上的注解】@Field  标记为文档的字段,并制定映射属性

@Field 源码分析

【插入】对指定分词器还不太了解的可以看下文,详解 [ElasticSearch系列三] Elasticsearch IK分词器 介绍、下载、安装及使用_萌小崔的博客-CSDN博客 

【 @Field(type = FieldType.Keyword)和 @Field(type = FieldType.Text)区别】

  • FieldType.Keyword存储字符串数据时,不会建立索引
  • FieldType.Text在存储字符串数据的时候,会自动建立索引,也会占用部分空间资源。

【@Field(store = true)  和 @Field(store = false) 的区别 】

  • store = false时,默认设置;那么给字段只存储在"_source"的Field域中
  • store = true时,该字段的value会存储在一个跟_source平级的独立Field域中;同时也会存储在_source中,所以有两份拷贝

案例 (主键@ID必须指定,其他可以默认)

 

 


Thanks!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐