Spring Data Elasticsearch基础
以下是一个简单的Spring Data Elasticsearch示例,展示如何创建一个简单的索引和搜索文档。
首先,添加Spring Data Elasticsearch依赖到你的pom.xml
文件中:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<!-- 其他依赖 -->
</dependencies>
然后,配置Elasticsearch属性,在application.properties
或application.yml
中:
spring.data.elasticsearch.cluster-name=elasticsearch
spring.data.elasticsearch.cluster-nodes=localhost:9300
创建一个实体类来表示Elasticsearch中的文档:
@Document(indexName = "example")
public class ExampleEntity {
@Id
private String id;
private String content;
// 标准的getter和setter
}
创建一个Elasticsearch仓库接口:
public interface ExampleEntityRepository extends ElasticsearchRepository<ExampleEntity, String> {
// 可以自定义查询方法,Spring Data会自动实现
}
最后,使用仓库进行操作:
@Service
public class ExampleService {
@Autowired
private ExampleEntityRepository repository;
public void indexDocument(ExampleEntity entity) {
repository.save(entity);
}
public List<ExampleEntity> searchDocuments(String query) {
// 使用Elasticsearch查询构建器来构建查询
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.must(QueryBuilders.matchQuery("content", query));
// 执行查询
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withQuery(boolQueryBuilder)
.build();
return repository.search(searchQuery).getContent();
}
}
这个简单的例子展示了如何在Spring Data Elasticsearch中创建和使用一个索引及其文档。在实际应用中,你可能需要根据具体需求定制查询和实体类。
评论已关闭