项目源码:https://github.com/ylanhds/spring-elasticSearch
项目结构:

pom.xml
<properties>
<java.version>11</java.version>
<elasticsearch.version>7.6.2</elasticsearch.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
配置
package com.fablen.elasticsearch.config;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.elasticsearch.client.ClientConfiguration;
import org.springframework.data.elasticsearch.client.RestClients;
import org.springframework.data.elasticsearch.config.AbstractElasticsearchConfiguration;
/**
*
* @author zhangbaosheng
*/
@Configuration
public class ElasticSearchClientConfig extends AbstractElasticsearchConfiguration {
@Bean
@Override
public RestHighLevelClient elasticsearchClient() {
final ClientConfiguration clientConfiguration = ClientConfiguration.builder()
.connectedTo("122.152.213.179:9200")
.build();
return RestClients.create(clientConfiguration).rest();
}
}
package com.fablen.elasticsearch.entity;
import lombok.Data;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
/**
* @author zhangbaosheng
*/
@Data
@Document(indexName = "index_book")
public class Book {
@Field
private int id;
private String name;
}
package com.fablen.elasticsearch.repository;
import com.fablen.elasticsearch.entity.Book;
import org.springframework.data.repository.CrudRepository;
/**
* @author zhangbaosheng
*/
public interface BookRepository extends CrudRepository<Book, Long> {
}
最后 测试

结果

版权声明:本文为YlanHds原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。