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


Java SearchContext.searcher方法代码示例

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


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

示例1: SignificantTermsAggregatorFactory

import org.elasticsearch.search.internal.SearchContext; //导入方法依赖的package包/类
public SignificantTermsAggregatorFactory(String name, ValuesSourceConfig<ValuesSource> config, IncludeExclude includeExclude,
        String executionHint, QueryBuilder filterBuilder, TermsAggregator.BucketCountThresholds bucketCountThresholds,
        SignificanceHeuristic significanceHeuristic, SearchContext context, AggregatorFactory<?> parent,
        AggregatorFactories.Builder subFactoriesBuilder, Map<String, Object> metaData) throws IOException {
    super(name, config, context, parent, subFactoriesBuilder, metaData);
    this.includeExclude = includeExclude;
    this.executionHint = executionHint;
    this.filter = filterBuilder == null
            ? null
            : filterBuilder.toQuery(context.getQueryShardContext());
    IndexSearcher searcher = context.searcher();
    this.supersetNumDocs = filter == null
            // Important - need to use the doc count that includes deleted docs
            // or we have this issue: https://github.com/elastic/elasticsearch/issues/7951
            ? searcher.getIndexReader().maxDoc()
            : searcher.count(filter);
    this.bucketCountThresholds = bucketCountThresholds;
    this.significanceHeuristic = significanceHeuristic;
    setFieldInfo(context);

}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:22,代码来源:SignificantTermsAggregatorFactory.java

示例2: FiltersAggregatorFactory

import org.elasticsearch.search.internal.SearchContext; //导入方法依赖的package包/类
public FiltersAggregatorFactory(String name, List<KeyedFilter> filters, boolean keyed, boolean otherBucket,
        String otherBucketKey, SearchContext context, AggregatorFactory<?> parent, AggregatorFactories.Builder subFactories,
        Map<String, Object> metaData) throws IOException {
    super(name, context, parent, subFactories, metaData);
    this.keyed = keyed;
    this.otherBucket = otherBucket;
    this.otherBucketKey = otherBucketKey;
    IndexSearcher contextSearcher = context.searcher();
    weights = new Weight[filters.size()];
    keys = new String[filters.size()];
    for (int i = 0; i < filters.size(); ++i) {
        KeyedFilter keyedFilter = filters.get(i);
        this.keys[i] = keyedFilter.key();
        Query filter = keyedFilter.filter().toFilter(context.getQueryShardContext());
        this.weights[i] = contextSearcher.createNormalizedWeight(filter, false);
    }
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:18,代码来源:FiltersAggregatorFactory.java

示例3: explain

import org.elasticsearch.search.internal.SearchContext; //导入方法依赖的package包/类
@Override
public Explanation explain(int topLevelDocId, SearchContext context, RescoreSearchContext rescoreContext,
                           Explanation sourceExplanation) throws IOException {
    QueryRescoreContext rescore = (QueryRescoreContext) rescoreContext;
    ContextIndexSearcher searcher = context.searcher();
    if (sourceExplanation == null) {
        // this should not happen but just in case
        return Explanation.noMatch("nothing matched");
    }
    // TODO: this isn't right?  I.e., we are incorrectly pretending all first pass hits were rescored?  If the requested docID was
    // beyond the top rescoreContext.window() in the first pass hits, we don't rescore it now?
    Explanation rescoreExplain = searcher.explain(rescore.query(), topLevelDocId);
    float primaryWeight = rescore.queryWeight();

    Explanation prim;
    if (sourceExplanation.isMatch()) {
        prim = Explanation.match(
                sourceExplanation.getValue() * primaryWeight,
                "product of:", sourceExplanation, Explanation.match(primaryWeight, "primaryWeight"));
    } else {
        prim = Explanation.noMatch("First pass did not match", sourceExplanation);
    }

    // NOTE: we don't use Lucene's Rescorer.explain because we want to insert our own description with which ScoreMode was used.  Maybe
    // we should add QueryRescorer.explainCombine to Lucene?
    if (rescoreExplain != null && rescoreExplain.isMatch()) {
        float secondaryWeight = rescore.rescoreQueryWeight();
        Explanation sec = Explanation.match(
                rescoreExplain.getValue() * secondaryWeight,
                "product of:",
                rescoreExplain, Explanation.match(secondaryWeight, "secondaryWeight"));
        QueryRescoreMode scoreMode = rescore.scoreMode();
        return Explanation.match(
                scoreMode.combine(prim.getValue(), sec.getValue()),
                scoreMode + " of:",
                prim, sec);
    } else {
        return prim;
    }
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:41,代码来源:QueryRescorer.java

示例4: AdjacencyMatrixAggregatorFactory

import org.elasticsearch.search.internal.SearchContext; //导入方法依赖的package包/类
public AdjacencyMatrixAggregatorFactory(String name, List<KeyedFilter> filters, String separator, 
        SearchContext context, AggregatorFactory<?> parent, AggregatorFactories.Builder subFactories, 
        Map<String, Object> metaData) throws IOException {
    super(name, context, parent, subFactories, metaData);
    IndexSearcher contextSearcher = context.searcher();
    this.separator = separator;
    weights = new Weight[filters.size()];
    keys = new String[filters.size()];
    for (int i = 0; i < filters.size(); ++i) {
        KeyedFilter keyedFilter = filters.get(i);
        this.keys[i] = keyedFilter.key();
        Query filter = keyedFilter.filter().toFilter(context.getQueryShardContext());
        this.weights[i] = contextSearcher.createNormalizedWeight(filter, false);
    }
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:16,代码来源:AdjacencyMatrixAggregatorFactory.java

示例5: FilterAggregatorFactory

import org.elasticsearch.search.internal.SearchContext; //导入方法依赖的package包/类
public FilterAggregatorFactory(String name, QueryBuilder filterBuilder, SearchContext context,
        AggregatorFactory<?> parent, AggregatorFactories.Builder subFactoriesBuilder, Map<String, Object> metaData) throws IOException {
    super(name, context, parent, subFactoriesBuilder, metaData);
    IndexSearcher contextSearcher = context.searcher();
    Query filter = filterBuilder.toQuery(context.getQueryShardContext());
    weight = contextSearcher.createNormalizedWeight(filter, false);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:8,代码来源:FilterAggregatorFactory.java

示例6: OrderedDocCollector

import org.elasticsearch.search.internal.SearchContext; //导入方法依赖的package包/类
public OrderedDocCollector(SearchContext searchContext,
                           boolean doDocsScores,
                           int batchSize,
                           CollectorContext collectorContext,
                           OrderBy orderBy,
                           Sort sort,
                           List<Input<?>> inputs,
                           Collection<LuceneCollectorExpression<?>> expressions) {
    this.searchContext = searchContext;
    this.shardId = searchContext.indexShard().shardId();
    this.doDocsScores = doDocsScores;
    this.batchSize = batchSize;
    this.orderBy = orderBy;
    searcher = searchContext.searcher();
    this.collectorContext = collectorContext;
    this.sort = sort;
    this.scorer = new DummyScorer();
    this.expressions = expressions;
    this.rowFunction = new ScoreDocRowFunction(
            searcher.getIndexReader(),
            inputs,
            expressions,
            scorer
    );
    empty = new KeyIterable<>(shardId, Collections.<Row>emptyList());
    missingValues = new Object[orderBy.orderBySymbols().size()];
    for (int i = 0; i < orderBy.orderBySymbols().size(); i++) {
        missingValues[i] = LuceneMissingValue.missingValue(orderBy, i);
    }
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:31,代码来源:OrderedDocCollector.java

示例7: explain

import org.elasticsearch.search.internal.SearchContext; //导入方法依赖的package包/类
@Override
public Explanation explain(int topLevelDocId, SearchContext context, RescoreSearchContext rescoreContext,
                           Explanation sourceExplanation) throws IOException {
    QueryRescoreContext rescore = (QueryRescoreContext) rescoreContext;
    ContextIndexSearcher searcher = context.searcher();
    if (sourceExplanation == null) {
        // this should not happen but just in case
        return Explanation.noMatch("nothing matched");
    }
    // TODO: this isn't right?  I.e., we are incorrectly pretending all first pass hits were rescored?  If the requested docID was
    // beyond the top rescoreContext.window() in the first pass hits, we don't rescore it now?
    Explanation rescoreExplain = searcher.explain(rescore.query(), topLevelDocId);
    float primaryWeight = rescore.queryWeight();

    Explanation prim;
    if (sourceExplanation.isMatch()) {
        prim = Explanation.match(
                sourceExplanation.getValue() * primaryWeight,
                "product of:", sourceExplanation, Explanation.match(primaryWeight, "primaryWeight"));
    } else {
        prim = Explanation.noMatch("First pass did not match", sourceExplanation);
    }

    // NOTE: we don't use Lucene's Rescorer.explain because we want to insert our own description with which ScoreMode was used.  Maybe
    // we should add QueryRescorer.explainCombine to Lucene?
    if (rescoreExplain != null && rescoreExplain.isMatch()) {
        float secondaryWeight = rescore.rescoreQueryWeight();
        Explanation sec = Explanation.match(
                rescoreExplain.getValue() * secondaryWeight,
                "product of:",
                rescoreExplain, Explanation.match(secondaryWeight, "secondaryWeight"));
        ScoreMode scoreMode = rescore.scoreMode();
        return Explanation.match(
                scoreMode.combine(prim.getValue(), sec.getValue()),
                scoreMode + " of:",
                prim, sec);
    } else {
        return prim;
    }
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:41,代码来源:QueryRescorer.java


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