spring集成es的增删改查
时间: 2023-11-01 18:06:42 浏览: 44
好的,以下是Spring集成Elasticsearch实现增删改查的示例代码:
1. 添加依赖
在`pom.xml`中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
```
2. 配置Elasticsearch连接信息
在`application.yml`中添加以下配置信息:
```yaml
spring:
data:
elasticsearch:
cluster-nodes: localhost:9300
```
3. 定义实体类
定义一个实体类,如下所示:
```java
@Document(indexName = "my_index", type = "my_type")
public class MyEntity {
@Id
private String id;
private String name;
private Integer age;
// 省略getter/setter方法
}
```
4. 定义Repository
定义一个Repository接口,继承`ElasticsearchRepository`,如下所示:
```java
public interface MyEntityRepository extends ElasticsearchRepository<MyEntity, String> {
}
```
5. 实现增删改查操作
在Service层中注入`MyEntityRepository`,并实现相应的增删改查操作,如下所示:
```java
@Service
public class MyEntityService {
@Autowired
private MyEntityRepository repository;
public void save(MyEntity entity) {
repository.save(entity);
}
public void delete(String id) {
repository.deleteById(id);
}
public void update(MyEntity entity) {
repository.save(entity);
}
public List<MyEntity> search(String name) {
NativeSearchQueryBuilder builder = new NativeSearchQueryBuilder();
builder.withQuery(QueryBuilders.matchQuery("name", name));
Iterable<MyEntity> searchResult = repository.search(builder.build());
List<MyEntity> result = new ArrayList<>();
searchResult.forEach(result::add);
return result;
}
}
```
这里实现了四个方法:
- `save`:新增或更新数据
- `delete`:删除数据
- `update`:更新数据
- `search`:根据名称查询数据
以上就是Spring集成Elasticsearch实现增删改查的示例代码。