在spring data中如何使用elasticsearch

默认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"代表的是在数据库的时候是按分词进行匹配的,所以里面的内容要一致

—卑鄙是卑鄙者的通行证,高尚是高尚者的墓志铭。

猜你喜欢

转载自blog.csdn.net/qq_41346335/article/details/86658692