當前位置: 首頁>>代碼示例>>Java>>正文


Java SearchRequestBuilder.execute方法代碼示例

本文整理匯總了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);
}
 
開發者ID:eorliac,項目名稱:patent-crawler,代碼行數:54,代碼來源:AggregationSpout.java


注:本文中的org.elasticsearch.action.search.SearchRequestBuilder.execute方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。