类org.apache.lucene.index.MergeTrigger源码实例Demo

下面列出了怎么用org.apache.lucene.index.MergeTrigger的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: lucene-solr   文件: SegmentsInfoRequestHandler.java
private SimpleOrderedMap<Object> getMergeInformation(SolrQueryRequest req, SegmentInfos infos, List<String> mergeCandidates) throws IOException {
  SimpleOrderedMap<Object> result = new SimpleOrderedMap<>();
  RefCounted<IndexWriter> refCounted = req.getCore().getSolrCoreState().getIndexWriter(req.getCore());
  try {
    IndexWriter indexWriter = refCounted.get();
    if (indexWriter instanceof SolrIndexWriter) {
      result.addAll(((SolrIndexWriter)indexWriter).getRunningMerges());
    }
    //get chosen merge policy
    MergePolicy mp = indexWriter.getConfig().getMergePolicy();
    //Find merges
    MergeSpecification findMerges = mp.findMerges(MergeTrigger.EXPLICIT, infos, indexWriter);
    if (findMerges != null && findMerges.merges != null && findMerges.merges.size() > 0) {
      for (OneMerge merge : findMerges.merges) {
        //TODO: add merge grouping
        for (SegmentCommitInfo mergeSegmentInfo : merge.segments) {
          mergeCandidates.add(mergeSegmentInfo.info.name);
        }
      }
    }

    return result;
  } finally {
    refCounted.decref();
  }
}
 
源代码2 项目: Elasticsearch   文件: ElasticsearchMergePolicy.java
@Override
public MergeSpecification findMerges(MergeTrigger mergeTrigger,
    SegmentInfos segmentInfos, IndexWriter writer) throws IOException {
    return upgradedMergeSpecification(delegate.findMerges(mergeTrigger, segmentInfos, writer));
}
 
源代码3 项目: linden   文件: SortingMergePolicyDecorator.java
@Override
public MergeSpecification findMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos,
                                     IndexWriter writer) throws IOException {
  return sortingMergePolicy.findMerges(mergeTrigger, segmentInfos, writer);
}
 
 类所在包
 类方法
 同包方法