SearchSourceBuilder
时间: 2023-06-13 14:05:09 浏览: 167
SearchSourceBuilder是Elasticsearch Java API中的一个类,用于构建搜索请求的源(source)。它提供了多种方法来设置搜索请求的各种参数,包括查询、过滤、聚合、分页、排序等。使用SearchSourceBuilder可以方便地构建复杂的搜索请求,并将其发送到Elasticsearch集群进行搜索。
以下是一个简单的使用SearchSourceBuilder构建搜索请求的示例:
```
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(QueryBuilders.matchQuery("title", "Elasticsearch"))
.from(0).size(10)
.sort(new ScoreSortBuilder().order(SortOrder.DESC))
.fetchSource(new String[]{"title", "content"}, null);
SearchRequest searchRequest = new SearchRequest("my_index");
searchRequest.source(sourceBuilder);
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
```
在这个示例中,首先创建一个SearchSourceBuilder对象,然后使用它设置查询条件、分页、排序和返回字段等参数。最后将SearchSourceBuilder对象设置到SearchRequest中,并发送请求到Elasticsearch集群进行搜索。搜索结果将返回一个SearchResponse对象,其中包含搜索命中的文档和相关统计信息等。
阅读全文