Package org.apache.lucene.search.join
Class ToParentBlockJoinSortField
- java.lang.Object
-
- org.apache.lucene.search.SortField
-
- org.apache.lucene.search.join.ToParentBlockJoinSortField
-
public class ToParentBlockJoinSortField extends SortField
A special sort field that allows sorting parent docs based on nested / child level fields. Based on the sort order it either takes the document with the lowest or highest field value into account.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.search.SortField
SortField.Provider, SortField.Type
-
-
Field Summary
Fields Modifier and Type Field Description private BitSetProducerchildFilterprivate booleanorderprivate BitSetProducerparentFilter-
Fields inherited from class org.apache.lucene.search.SortField
FIELD_DOC, FIELD_SCORE, missingValue, STRING_FIRST, STRING_LAST
-
-
Constructor Summary
Constructors Constructor Description ToParentBlockJoinSortField(java.lang.String field, SortField.Type type, boolean reverse, boolean order, BitSetProducer parentFilter, BitSetProducer childFilter)Create ToParentBlockJoinSortField.ToParentBlockJoinSortField(java.lang.String field, SortField.Type type, boolean reverse, BitSetProducer parentFilter, BitSetProducer childFilter)Create ToParentBlockJoinSortField.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)Returns true ifois equal to this.FieldComparator<?>getComparator(int numHits, int sortPos)Returns theFieldComparatorto use for sorting.private FieldComparator<?>getDoubleComparator(int numHits, int sortPost)private FieldComparator<?>getFloatComparator(int numHits, int sortPos)private FieldComparator<?>getIntComparator(int numHits, int sortPos)private FieldComparator<?>getLongComparator(int numHits, int sortPos)private FieldComparator<?>getStringComparator(int numHits)inthashCode()Returns a hash code for thisSortFieldinstance.-
Methods inherited from class org.apache.lucene.search.SortField
getBytesComparator, getCanUsePoints, getComparatorSource, getField, getIndexSorter, getMissingValue, getReverse, getType, needsScores, readType, rewrite, setBytesComparator, setCanUsePoints, setMissingValue, toString
-
-
-
-
Field Detail
-
order
private final boolean order
-
parentFilter
private final BitSetProducer parentFilter
-
childFilter
private final BitSetProducer childFilter
-
-
Constructor Detail
-
ToParentBlockJoinSortField
public ToParentBlockJoinSortField(java.lang.String field, SortField.Type type, boolean reverse, BitSetProducer parentFilter, BitSetProducer childFilter)Create ToParentBlockJoinSortField. The parent document ordering is based on child document ordering (reverse).- Parameters:
field- The sort field on the nested / child level.type- The sort type on the nested / child level.reverse- Whether natural order should be reversed on the nested / child level.parentFilter- Filter that identifies the parent documents.childFilter- Filter that defines which child documents participates in sorting.
-
ToParentBlockJoinSortField
public ToParentBlockJoinSortField(java.lang.String field, SortField.Type type, boolean reverse, boolean order, BitSetProducer parentFilter, BitSetProducer childFilter)Create ToParentBlockJoinSortField.- Parameters:
field- The sort field on the nested / child level.type- The sort type on the nested / child level.reverse- Whether natural order should be reversed on the nested / child document level.order- Whether natural order should be reversed on the parent level.parentFilter- Filter that identifies the parent documents.childFilter- Filter that defines which child documents participates in sorting.
-
-
Method Detail
-
getComparator
public FieldComparator<?> getComparator(int numHits, int sortPos)
Description copied from class:SortFieldReturns theFieldComparatorto use for sorting.- Overrides:
getComparatorin classSortField- Parameters:
numHits- number of top hits the queue will storesortPos- position of this SortField withinSort. The comparator is primary if sortPos==0, secondary if sortPos==1, etc. Some comparators can optimize themselves when they are the primary sort.- Returns:
FieldComparatorto use when sorting
-
getStringComparator
private FieldComparator<?> getStringComparator(int numHits)
-
getIntComparator
private FieldComparator<?> getIntComparator(int numHits, int sortPos)
-
getLongComparator
private FieldComparator<?> getLongComparator(int numHits, int sortPos)
-
getFloatComparator
private FieldComparator<?> getFloatComparator(int numHits, int sortPos)
-
getDoubleComparator
private FieldComparator<?> getDoubleComparator(int numHits, int sortPost)
-
hashCode
public int hashCode()
Description copied from class:SortFieldReturns a hash code for thisSortFieldinstance. If aFieldComparatorSourcewas provided, it must properly implement hashCode (unless a singleton is always used).
-
equals
public boolean equals(java.lang.Object obj)
Description copied from class:SortFieldReturns true ifois equal to this. If aFieldComparatorSourcewas provided, it must properly implement equals (unless a singleton is always used).canUsePointsfield is not part ofequalsandhasCodeintentionally, as it is only useful during search-time and using it in these functions prevents index sorting optimizations that rely on the equality of the index-time and search-time SortField instances.
-
-