SearchSourceBuilder的from和size
SearchSourceBuilder是Elasticsearch Java客户端中用于构建搜索请求的类之一。它提供了一种方式来构建查询,指定搜索结果的大小、偏移量等。
在SearchSourceBuilder中,from和size是两个重要的参数,用于控制搜索结果的偏移量和大小。
from:指定搜索结果的偏移量,即从搜索结果中的第几条开始返回结果。默认为0,表示从第一条开始。
size:指定返回的搜索结果的数量。默认情况下,Elasticsearch每次最多返回10条结果。可以通过size参数来修改返回结果的数量。
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.elasticsearch.search.sort.SortOrder;
public class SearchExample {
public void searchDocuments(RestHighLevelClient client) throws Exception {
SearchRequest searchRequest = new SearchRequest("index_name");
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
// 设置查询条件
sourceBuilder.query(QueryBuilders.matchAllQuery());
// 设置排序
sourceBuilder.sort("field_name", SortOrder.DESC);
// 设置偏移量和返回结果数量
sourceBuilder.from(0); // 从第一条开始
sourceBuilder.size(10); // 返回10条结果
searchRequest.source(sourceBuilder);
client.search(searchRequest, RequestOptions.DEFAULT);
}
}