Example usage for org.apache.lucene.index MergePolicy findMerges

List of usage examples for org.apache.lucene.index MergePolicy findMerges

Introduction

In this page you can find the example usage for org.apache.lucene.index MergePolicy findMerges.

Prototype

public abstract MergeSpecification findMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos,
        MergeContext mergeContext) throws IOException;

Source Link

Document

Determine what set of merge operations are now necessary on the index.

Usage

From source file:org.apache.solr.handler.admin.SegmentsInfoRequestHandler.java

License:Apache License

private List<String> getMergeCandidatesNames(SolrQueryRequest req, SegmentInfos infos) throws IOException {
    List<String> result = new ArrayList<String>();
    IndexWriter indexWriter = getIndexWriter(req);
    //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) {
                result.add(mergeSegmentInfo.info.name);
            }//www . j a  v a  2s. c o m
        }
    }

    return result;
}

From source file:org.apache.solr.util.TestRandomForceMergePolicy.java

License:Apache License

/**
 * Ensure it finds no merges/*www . ja v a2s.  com*/
 */
public void testFindMerges() throws IOException {
    MergePolicy mp = new RandomForceMergePolicy();
    assertNull(mp.findMerges(null, (SegmentInfos) null, null));
}