import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
// 定义Elasticsearch文档实体
@Document(indexName = "example_index")
public class ExampleEntity {
@Id
private String id;
private String content;
// 标准的getter和setter方法
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
// 使用Spring Data Elasticsearch仓库进行操作
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
public interface ExampleEntityRepository extends ElasticsearchRepository<ExampleEntity, String> {
// 这里可以定义更多的查询方法
}
// 服务层进行业务逻辑处理
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class ExampleService {
@Autowired
private ExampleEntityRepository repository;
public ExampleEntity create(ExampleEntity entity) {
return repository.save(entity);
}
public Iterable<ExampleEntity> findAll() {
return repository.findAll();
}
}
这个代码示例展示了如何在Spring Boot应用程序中集成Elasticsearch。首先定义了一个Elasticsearch文档实体,并使用@Document
注解指定了索引名。接着定义了一个Elasticsearch仓库,继承自ElasticsearchRepository
,以便可以使用Spring Data Elasticsearch自动生成的CRUD方法。最后,在服务层中注入仓库,并实现创建和查询所有实体的方法。