spring-boot-starter-data-elasticsearch(elasti。。。maven包:
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
@Document 注解:
public@interface Document {
springboot推荐算法String indexName();//索引库的名称,个⼈建议以项⽬的名称命名
String type()default"";//类型,个⼈建议以实体的名称命名
short shards()default5;//默认分区数
short replicas()default1;//每个分区默认的备份数
String refreshInterval()default"1s";//刷新间隔
String indexStoreType()default"fs";//索引⽂件存储类型
}
@Field注解:
public@interface Field {
FieldType type()default FieldType.Auto;//⾃动检测属性的类型,可以根据实际情况⾃⼰设置
FieldIndex index()default FieldIndex.analyzed;//默认情况下分词,⼀般默认分词就好,除⾮这个字段你确定查询时不会⽤到DateFormat format();//时间类型的格式化
String pattern()default"";
boolean store()default false;//默认情况下不存储原⽂
String searchAnalyzer()default"";//指定字段搜索时使⽤的分词器
String indexAnalyzer()default"";//指定字段建⽴索引时指定的分词器
String[]ignoreFields()default{};//如果某个字段需要被忽略
boolean includeInParent()default false;
}
@FieldType类型:
public enum FieldType {
Text,
Integer,
Long,
Date,
Float,
Double,
Boolean,
Object,
Auto,
Nested,
Ip,
Attachment,
Keyword
}
存储model:
@Data
@Document(indexName ="match-import-data", type ="cust-info") public class CustInfo {
@Id
private String id;
private String custId;
private String custUid;
// 这⾥配置了分词器,字段类型,可以不配置,默认也可
@Field(analyzer ="ik_smart", type = FieldType.Text)
private String custNm;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。