spring data elasticsearch的 @Documnet 和 @Field 注解

@Documnet 注解

@Document(indexName = "jcydb_t_cgj_gdzbxx", type = "t_cgj_gdzbxx", useServerConfiguration = true, createIndex = true)

我们来看Document 的注解

public @interface Document {
 
String indexName(); //索引库的名称,个人建议以项目的名称命名
 
String type() default ""; //类型,个人建议以实体的名称命名
 
short shards() default 5; //默认分区数
 
short replicas() default 1; //每个分区默认的备份数
 
String refreshInterval() default "1s"; //刷新间隔
 
String indexStoreType() default "fs"; //索引文件存储类型
}

@Field注解

 	/**
     * "诉求类型 不分词
     */
    @Excel(name = "诉求类型 ")
     @Field(type = FieldType.Text, index = FieldIndex.not_analyzed)
    private String sqlx;

    /**
     * "诉求内容 查询和存储ik 分词器分词
     */
    @Excel(name = "诉求内容 ")
    @Field(type = FieldType.Text, analyzer = "ik_max_word", searchAnalyzer = "ik_max_word")
    private String sqlr;

    /**
     * "诉求来源
     */
    @Excel(name = "诉求来源")
    @Field(type = FieldType.Text, analyzer = "ik_max_word", searchAnalyzer = "ik_max_word")
    private String sqly;

我们来看Field的注解

public @interface Field {
 
FieldType type() default FieldType.Auto; //自动检测属性的类型,可以根据实际情况自己设置
/*
 *  FieldIndex.not_analyzed:不会分词,只能根据原词索引Field;
 *  FieldIndex.analyzed:根据分词器分词,可以根据原词和分词后的词条索引Field;
 *  FieldIndex.no:该字段不会被索引,查不到;
*/ 
FieldIndex index() default FieldIndex.analyzed; //默认情况下分词,一般默认分词就好,除非这个字段你确定查询时不会用到
 
DateFormat format() default DateFormat.none; //时间类型的格式化
 
String pattern() default ""; 
 
boolean store() default false; //默认情况下不存储原文
 
String searchAnalyzer() default ""; //指定字段搜索时使用的分词器
 
String indexAnalyzer() default ""; //指定字段建立索引时指定的分词器
 
String[] ignoreFields() default {}; //如果某个字段需要被忽略
 
boolean includeInParent() default false;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值