Class LucenePlanner
java.lang.Object
com.apple.foundationdb.record.query.plan.RecordQueryPlanner
com.apple.foundationdb.record.lucene.LucenePlanner
- All Implemented Interfaces:
QueryPlanner
A planner to implement lucene query planning so that we can isolate the lucene functionality to
a distinct package. This was necessary because of the need to pass the sort key expression into the
plan created and from there into the record cursor which creates a Lucene sort object.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.apple.foundationdb.record.query.plan.RecordQueryPlanner
RecordQueryPlanner.CandidateScan, RecordQueryPlanner.ScoredInfo<T extends Object,
S extends RecordQueryPlanner.ScoredInfo<T, S>>, RecordQueryPlanner.ScoredMatch, RecordQueryPlanner.ScoredPlan Nested classes/interfaces inherited from interface com.apple.foundationdb.record.query.plan.QueryPlanner
QueryPlanner.IndexScanPreference
-
Field Summary
Fields inherited from class com.apple.foundationdb.record.query.plan.RecordQueryPlanner
DEFAULT_COMPLEXITY_THRESHOLD
-
Constructor Summary
ConstructorsConstructorDescriptionLucenePlanner
(RecordMetaData metaData, RecordStoreState recordStoreState, PlannableIndexTypes indexTypes, FDBStoreTimer timer) -
Method Summary
Modifier and TypeMethodDescriptionprotected RecordQueryPlanner.ScoredPlan
planOther
(RecordQueryPlanner.CandidateScan candidateScan, Index index, QueryComponent filter, KeyExpression sort, boolean sortReverse, KeyExpression commonPrimaryKey) Methods inherited from class com.apple.foundationdb.record.query.plan.RecordQueryPlanner
addTypeFilterIfNeeded, computeSargedComparisons, getConfiguration, getIndexScanPreference, getPossibleTypes, getRecordMetaData, getRecordStoreState, isBetterThanOther, plan, planCoveringAggregateIndex, planCoveringAggregateIndex, planQuery, resolveFetchIndexRecords, setConfiguration, setIndexScanPreference
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.apple.foundationdb.record.query.plan.QueryPlanner
plan, planQuery
-
Constructor Details
-
LucenePlanner
public LucenePlanner(@Nonnull RecordMetaData metaData, @Nonnull RecordStoreState recordStoreState, PlannableIndexTypes indexTypes, FDBStoreTimer timer)
-
-
Method Details
-
planOther
@Nullable protected RecordQueryPlanner.ScoredPlan planOther(@Nonnull RecordQueryPlanner.CandidateScan candidateScan, @Nonnull Index index, @Nonnull QueryComponent filter, @Nullable KeyExpression sort, boolean sortReverse, @Nullable KeyExpression commonPrimaryKey) - Overrides:
planOther
in classRecordQueryPlanner
-