当前位置: 首页>>代码示例>>Java>>正文


Java Releasables.close方法代码示例

本文整理汇总了Java中org.elasticsearch.common.lease.Releasables.close方法的典型用法代码示例。如果您正苦于以下问题:Java Releasables.close方法的具体用法?Java Releasables.close怎么用?Java Releasables.close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.elasticsearch.common.lease.Releasables的用法示例。


在下文中一共展示了Releasables.close方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: close

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
@Override
public void close() {
    List<Releasable> closeables = new ArrayList<>();
    for (OrdinalMapAndAtomicFieldData fds : atomicFD.values()) {
        closeables.addAll(Arrays.asList(fds.fieldData));
    }
    Releasables.close(closeables);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:9,代码来源:ParentChildIndexFieldData.java

示例2: clearReleasables

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
public void clearReleasables(Lifetime lifetime) {
    if (clearables != null) {
        List<Collection<Releasable>> releasables = new ArrayList<>();
        for (Lifetime lc : Lifetime.values()) {
            if (lc.compareTo(lifetime) > 0) {
                break;
            }
            releasables.add(clearables.removeAll(lc));
        }
        Releasables.close(Iterables.concat(releasables));
    }
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:13,代码来源:SearchContext.java

示例3: clearReleasables

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
public void clearReleasables(Lifetime lifetime) {
    if (clearables != null) {
        List<List<Releasable>>releasables = new ArrayList<>();
        for (Lifetime lc : Lifetime.values()) {
            if (lc.compareTo(lifetime) > 0) {
                break;
            }
            List<Releasable> remove = clearables.remove(lc);
            if (remove != null) {
                releasables.add(remove);
            }
        }
        Releasables.close(Iterables.flatten(releasables));
    }
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:16,代码来源:SearchContext.java

示例4: shardOperation

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
@Override
protected ExplainResponse shardOperation(ExplainRequest request, ShardId shardId) throws IOException {
    ShardSearchLocalRequest shardSearchLocalRequest = new ShardSearchLocalRequest(shardId,
        new String[]{request.type()}, request.nowInMillis, request.filteringAlias());
    SearchContext context = searchService.createSearchContext(shardSearchLocalRequest, SearchService.NO_TIMEOUT, null);
    Term uidTerm = new Term(UidFieldMapper.NAME, Uid.createUidAsBytes(request.type(), request.id()));
    Engine.GetResult result = null;
    try {
        result = context.indexShard().get(new Engine.Get(false, uidTerm));
        if (!result.exists()) {
            return new ExplainResponse(shardId.getIndexName(), request.type(), request.id(), false);
        }
        context.parsedQuery(context.getQueryShardContext().toQuery(request.query()));
        context.preProcess(true);
        int topLevelDocId = result.docIdAndVersion().docId + result.docIdAndVersion().context.docBase;
        Explanation explanation = context.searcher().explain(context.query(), topLevelDocId);
        for (RescoreSearchContext ctx : context.rescore()) {
            Rescorer rescorer = ctx.rescorer();
            explanation = rescorer.explain(topLevelDocId, context, ctx, explanation);
        }
        if (request.storedFields() != null || (request.fetchSourceContext() != null && request.fetchSourceContext().fetchSource())) {
            // Advantage is that we're not opening a second searcher to retrieve the _source. Also
            // because we are working in the same searcher in engineGetResult we can be sure that a
            // doc isn't deleted between the initial get and this call.
            GetResult getResult = context.indexShard().getService().get(result, request.id(), request.type(), request.storedFields(), request.fetchSourceContext());
            return new ExplainResponse(shardId.getIndexName(), request.type(), request.id(), true, explanation, getResult);
        } else {
            return new ExplainResponse(shardId.getIndexName(), request.type(), request.id(), true, explanation);
        }
    } catch (IOException e) {
        throw new ElasticsearchException("Could not explain", e);
    } finally {
        Releasables.close(result, context);
    }
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:36,代码来源:TransportExplainAction.java

示例5: doClose

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
@Override
public void doClose() {
    Releasables.close(tops, bottoms, posLefts, posRights, negLefts, negRights);
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:5,代码来源:GeoBoundsAggregator.java

示例6: doClose

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
@Override
protected void doClose() {
    Releasables.close(bucketOrds);
    super.doClose();
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:6,代码来源:DiversifiedMapSamplerAggregator.java

示例7: doClose

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
@Override
protected void doClose() {
    Releasables.close(topDocsCollectors);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:5,代码来源:TopHitsAggregator.java

示例8: close

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
@Override
public void close() {
    Releasables.close(parentIdxs, scores);
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:5,代码来源:ParentQuery.java

示例9: doClose

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
@Override
protected void doClose() {
    Releasables.close(states);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:5,代码来源:AbstractTDigestPercentilesAggregator.java

示例10: applyFailedShards

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
public void applyFailedShards(FailedRerouteAllocation allocation) {
    for (FailedRerouteAllocation.FailedShard shard : allocation.failedShards()) {
        Releasables.close(asyncFetchStarted.remove(shard.shard.shardId()));
        Releasables.close(asyncFetchStore.remove(shard.shard.shardId()));
    }
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:7,代码来源:GatewayAllocator.java

示例11: close

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
@Override
public void close() {
    Releasables.close(runLens, hashSet.sizes);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:5,代码来源:HyperLogLogPlusPlus.java

示例12: close

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
@Override
public void close() {
    Releasables.close(parentIdxs, scores, occurrences);
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:5,代码来源:ChildrenQuery.java

示例13: close

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
@Override
public void close() {
    Releasables.close(visitedOrds);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:5,代码来源:CardinalityAggregator.java

示例14: doClose

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
@Override
public void doClose() {
    Releasables.close(counts, sums);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:5,代码来源:AvgAggregator.java

示例15: doCreateWeight

import org.elasticsearch.common.lease.Releasables; //导入方法依赖的package包/类
@Override
public Weight doCreateWeight(IndexSearcher searcher, boolean needsScores) throws IOException {
    SearchContext sc = SearchContext.current();

    IndexParentChildFieldData globalIfd = ifd.loadGlobal((DirectoryReader)searcher.getIndexReader());
    if (globalIfd == null) {
        // No docs of the specified type exist on this shard
        return new BooleanQuery.Builder().build().createWeight(searcher, needsScores);
    }

    boolean abort = true;
    long numFoundParents;
    ParentCollector collector = null;
    try {
        if (minChildren == 0 && maxChildren == 0 && scoreType != ScoreType.NONE) {
            switch (scoreType) {
            case MIN:
                collector = new MinCollector(globalIfd, sc, parentType);
                break;
            case MAX:
                collector = new MaxCollector(globalIfd, sc, parentType);
                break;
            case SUM:
                collector = new SumCollector(globalIfd, sc, parentType);
                break;
            }
        }
        if (collector == null) {
            switch (scoreType) {
            case MIN:
                collector = new MinCountCollector(globalIfd, sc, parentType);
                break;
            case MAX:
                collector = new MaxCountCollector(globalIfd, sc, parentType);
                break;
            case SUM:
            case AVG:
                collector = new SumCountAndAvgCollector(globalIfd, sc, parentType);
                break;
            case NONE:
                collector = new CountCollector(globalIfd, sc, parentType);
                break;
            default:
                throw new RuntimeException("Are we missing a score type here? -- " + scoreType);
            }
        }

        searcher.search(childQuery, collector);
        numFoundParents = collector.foundParents();
        if (numFoundParents == 0) {
            return new BooleanQuery.Builder().build().createWeight(searcher, needsScores);
        }
        abort = false;
    } finally {
        if (abort) {
            Releasables.close(collector);
        }
    }
    sc.addReleasable(collector, Lifetime.COLLECTION);
    final Filter parentFilter;
    if (numFoundParents <= shortCircuitParentDocSet) {
        parentFilter = ParentIdsFilter.createShortCircuitFilter(nonNestedDocsFilter, sc, parentType, collector.values,
                collector.parentIdxs, numFoundParents);
    } else {
        parentFilter = this.parentFilter;
    }
    return new ParentWeight(this, childQuery.createWeight(searcher, needsScores), parentFilter, numFoundParents, collector, minChildren,
            maxChildren);
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:70,代码来源:ChildrenQuery.java


注:本文中的org.elasticsearch.common.lease.Releasables.close方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。