Package org.apache.lucene.sandbox.search

# Class PhraseWildcardQuery.SegmentTermsSizeComparator

java.lang.Object
org.apache.lucene.sandbox.search.PhraseWildcardQuery.SegmentTermsSizeComparator

All Implemented Interfaces:
  `Comparator<LeafReaderContext>`

Enclosing class:
  `PhraseWildcardQuery`

protected class PhraseWildcardQuery.SegmentTermsSizeComparator extends Object implements Comparator<LeafReaderContext>
Compares segments based of the number of terms they contain.

This is used to sort segments incrementally by number of terms. This way the first segment to search is the smallest, so a term has the lowest probability to match in this segment. And if the term does not match, we credit unused expansions when searching the other next segments.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`SegmentTermsSizeComparator()`

## Method Summary

Modifier and Type
Method
Description
`int`
`compare(LeafReaderContext leafReaderContext1, LeafReaderContext leafReaderContext2)`
`protected List<LeafReaderContext>`
`createTermsSizeSortedCopyOf(List<LeafReaderContext> segments)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.util.Comparator

`equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong`

## Constructor Details

### SegmentTermsSizeComparator

protected SegmentTermsSizeComparator()

## Method Details

### compare

public int compare(LeafReaderContext leafReaderContext1, LeafReaderContext leafReaderContext2)

Specified by:
  `compare` in interface `Comparator<LeafReaderContext>`

### createTermsSizeSortedCopyOf

protected List<LeafReaderContext> createTermsSizeSortedCopyOf(List<LeafReaderContext> segments) throws IOException

Throws:
  `IOException`