当前位置: 首页>>代码示例>>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;未经允许,请勿转载。