本文整理匯總了Java中org.elasticsearch.action.search.SearchRequestBuilder.execute方法的典型用法代碼示例。如果您正苦於以下問題:Java SearchRequestBuilder.execute方法的具體用法?Java SearchRequestBuilder.execute怎麽用?Java SearchRequestBuilder.execute使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.elasticsearch.action.search.SearchRequestBuilder
的用法示例。
在下文中一共展示了SearchRequestBuilder.execute方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: populateBuffer
import org.elasticsearch.action.search.SearchRequestBuilder; //導入方法依賴的package包/類
/** run a query on ES to populate the internal buffer **/
protected void populateBuffer() {
Date now = new Date();
LOG.info("{} Populating buffer with nextFetchDate <= {}", logIdprefix,
now);
QueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(
"nextFetchDate").lte(now);
SearchRequestBuilder srb = client.prepareSearch(indexName)
.setTypes(docType).setSearchType(SearchType.QUERY_THEN_FETCH)
.setQuery(rangeQueryBuilder).setFrom(0).setSize(0)
.setExplain(false);
TermsBuilder aggregations = AggregationBuilders.terms("partition")
.field(partitionField).size(maxBucketNum);
TopHitsBuilder tophits = AggregationBuilders.topHits("docs")
.setSize(maxURLsPerBucket).setExplain(false);
// sort within a bucket
if (StringUtils.isNotBlank(bucketSortField)) {
FieldSortBuilder sorter = SortBuilders.fieldSort(bucketSortField)
.order(SortOrder.ASC);
tophits.addSort(sorter);
}
aggregations.subAggregation(tophits);
// sort between buckets
if (StringUtils.isNotBlank(totalSortField)) {
MinBuilder minBuilder = AggregationBuilders.min("top_hit").field(
totalSortField);
aggregations.subAggregation(minBuilder);
aggregations.order(Terms.Order.aggregation("top_hit", true));
}
srb.addAggregation(aggregations);
// https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-preference.html
// _shards:2,3
if (shardID != -1) {
srb.setPreference("_shards:" + shardID);
}
// dump query to log
LOG.debug("{} ES query {}", logIdprefix, srb.toString());
timeStartESQuery = System.currentTimeMillis();
isInESQuery.set(true);
srb.execute(this);
}