3.2-es 映射 通用 elasticsearch-rest 中
优质
小牛编辑
126浏览
2023-12-01
例如:
通用 elasticsearch-rest默认使用了几个简单的注解
3.2.1 Document注解
@Document
说明这个 class 是实体类,并且使用默认的 es 规则,即 indexName 名即 es 中的索引,class 字段名即 es 的字段名 @Table
注解可以配置 indexName,aliasName,type,shards,replicas,maxResult,refreshInterval和 indexStoreType 8个属性,配置 indexName属性后,直接使用提供的索引,不再根据实体类名进行转换。 配置示例如下:
@Document(indexName = "sys_test", type = "detail")
public class User implements Serializable {
将 User 实体映射到 sys_test 索引中。
3.3.2 @Field注解
@Field
注解支持 name ,keyword,store,indexAnalyzer,docValues,fields,fieldDataformat,dynamic,ignoreField,nullValue 和 12个属性。
name 配置映射的列名。
keyword 对提供的 String 类型 如果关键字设置为真,则设置默认字段 关键字
,其他类型无需配置。
ignoreField 对提供的 忽略字段。
配置示例如:
@Field(keyword = true)
private String userName;
上面几个注解都涉及到映射。 @Id
注解和映射无关,它是一个特殊的标记,用于标识数据库中的主键字段。
正常情况下,一个实体类中至少需要一个标记 @Id
注解的字段,存在联合主键时可以标记多个。
如果表中没有主键,类中就可以不标记。
当类中没有存在标记 @Id
注解的字段时,你可以理解为类中的所有字段是联合主键。使用所有的 ByPrimaryKey 相关的方法时,有 where 条件的地方,会将所有列作为条件。
配置示例:
@Id
private String id;