默认elastic已经配置好
1,导依赖
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
<version>3.0.6.RELEASE</version>
</dependency>
2,创建实体类
在实体类上加如下注解
@Document(indexName = "tensquare_article", type = "article")
indexname代表索引的名字,type代表类型
在实体类中的字段如下
// 代表的是主键
@Id
private String id;
//是否索引
//是否分词
//是否存储
@Field(index = true,searchAnalyzer = "ik_max_word", analyzer = "ik_max_word")
private String title;
@Field(index = true,searchAnalyzer = "ik_max_word", analyzer = "ik_max_word")
private String content;
private String state;
3,创建dao,service,controller
这里和data jpa的套路差不多,不多解释了
注意dao继承是ElasticsearchRepository
public interface ArticleDao extends ElasticsearchRepository<Article, String> {
}
重点:(以下都是在@Field注解中的)
- 是否索引(index = true)
代表该域是否能被搜索到 - 是否分词
代表搜索的时候是整体匹配还是单词匹配 - 是否存储
代表是否在页面上显示
searchAnalyzer = "ik_max_word"代表搜索的时候是按照分词时候搜索的,analyzer = "ik_max_word"代表的是在数据库的时候是按分词进行匹配的,所以里面的内容要一致