Class LuceneIndexQueryPlan
java.lang.Object
com.apple.foundationdb.record.query.plan.plans.RecordQueryIndexPlan
com.apple.foundationdb.record.lucene.LuceneIndexQueryPlan
- All Implemented Interfaces:
PlanHashable
,PlanSerializable
,Correlated<RelationalExpression>
,com.apple.foundationdb.record.query.plan.cascades.explain.PlannerGraphRewritable
,RelationalExpression
,Narrowable<RelationalExpression>
,com.apple.foundationdb.record.query.plan.cascades.typing.Typed
,QueryPlan<FDBQueriedRecord<Message>>
,RecordQueryPlan
,RecordQueryPlanWithComparisons
,RecordQueryPlanWithConstraint
,RecordQueryPlanWithExplain
,RecordQueryPlanWithIndex
,RecordQueryPlanWithMatchCandidate
,RecordQueryPlanWithNoChildren
,PlanWithOrderingKey
,PlanWithStoredFields
- Direct Known Subclasses:
LuceneIndexSpellCheckQueryPlan
public class LuceneIndexQueryPlan
extends RecordQueryIndexPlan
implements PlanWithOrderingKey, PlanWithStoredFields, RecordQueryPlanWithExplain
Lucene query plan for including search-related scan parameters.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface com.apple.foundationdb.record.query.plan.cascades.Correlated
Correlated.BoundEquivalence<S extends Correlated<S>>
Nested classes/interfaces inherited from interface com.apple.foundationdb.record.PlanHashable
PlanHashable.PlanHashKind, PlanHashable.PlanHashMode
Nested classes/interfaces inherited from interface com.apple.foundationdb.record.query.plan.cascades.expressions.RelationalExpression
RelationalExpression.CombineFunction<R extends Object,
S extends Object>, RelationalExpression.CombinePredicate -
Field Summary
Fields inherited from class com.apple.foundationdb.record.query.plan.plans.RecordQueryIndexPlan
BASE_HASH, indexName, LOGGER, reverse, scanParameters, strictlySorted
Fields inherited from interface com.apple.foundationdb.record.PlanHashable
CURRENT_FOR_CONTINUATION, CURRENT_LEGACY
Fields inherited from interface com.apple.foundationdb.record.query.plan.plans.QueryPlan
UNKNOWN_MAX_CARDINALITY
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
LuceneIndexQueryPlan
(PlanSerializationContext serializationContext, com.apple.foundationdb.record.planprotos.PLuceneIndexQueryPlan luceneIndexQueryPlanProto) protected
LuceneIndexQueryPlan
(String indexName, LuceneScanParameters scanParameters, RecordQueryFetchFromPartialRecordPlan.FetchIndexRecords fetchIndexRecords, boolean reverse, PlanOrderingKey planOrderingKey, List<KeyExpression> storedFields) -
Method Summary
Modifier and TypeMethodDescriptionboolean
Auto-Complete and Spell-Check scan has their own implementation forIndexKeyValueToPartialRecord
to build partial records, so they are not appropriate for the optimization byRecordQueryCoveringIndexPlan
.boolean
com.apple.foundationdb.record.query.plan.explain.ExplainTokensWithPrecedence
explain()
static LuceneIndexQueryPlan
fromProto
(PlanSerializationContext serializationContext, com.apple.foundationdb.record.planprotos.PLuceneIndexQueryPlan luceneIndexQueryPlanProto) void
getStoredFields
(List<KeyExpression> keyFields, List<KeyExpression> nonStoredFields, List<KeyExpression> otherFields) boolean
int
hashCode()
static LuceneIndexQueryPlan
of
(String indexName, LuceneScanParameters scanParameters, RecordQueryFetchFromPartialRecordPlan.FetchIndexRecords fetchIndexRecords, boolean reverse, PlanOrderingKey planOrderingKey, List<KeyExpression> storedFields) com.apple.foundationdb.record.planprotos.PLuceneIndexQueryPlan
toLuceneIndexPlanProto
(PlanSerializationContext serializationContext) toProto
(PlanSerializationContext serializationContext) com.apple.foundationdb.record.planprotos.PRecordQueryPlan
toRecordQueryPlanProto
(PlanSerializationContext serializationContext) protected RecordQueryIndexPlan
withIndexScanParameters
(IndexScanParameters newIndexScanParameters) Methods inherited from class com.apple.foundationdb.record.query.plan.plans.RecordQueryIndexPlan
createIndexPlannerGraph, equalsWithoutChildren, executeEntries, executePlan, fromProto, getAvailableFields, getCommonPrimaryKey, getComparisonRanges, getComplexity, getConstraint, getCorrelatedTo, getFetchIndexRecords, getIndexFetchMethod, getIndexName, getMatchCandidateMaybe, getResultValue, getScanComparisons, getScanParameters, getScanType, getUsedIndexes, hasComparisonRanges, hasFullRecordScan, hashCodeWithoutChildren, hasIndexScan, hasLoadBykeys, hasRecordScan, hasScanComparisons, isReverse, isStrictlySorted, logPlanStructure, maxCardinality, planHash, strictlySorted, toRecordQueryIndexPlanProto, toString, translateCorrelations
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.apple.foundationdb.record.query.plan.cascades.Correlated
isCorrelatedTo
Methods inherited from interface com.apple.foundationdb.record.query.plan.cascades.Narrowable
narrowMaybe
Methods inherited from interface com.apple.foundationdb.record.PlanHashable
planHash, planHash
Methods inherited from interface com.apple.foundationdb.record.query.plan.plans.QueryPlan
collectDescendantPlans, execute, execute
Methods inherited from interface com.apple.foundationdb.record.query.plan.plans.RecordQueryPlan
accept, execute, execute, execute, execute, getQueryPlanChildren, structuralEquals, structuralEquals, structuralHashCode
Methods inherited from interface com.apple.foundationdb.record.query.plan.plans.RecordQueryPlanWithIndex
fetchIndexRecords, rewritePlannerGraph
Methods inherited from interface com.apple.foundationdb.record.query.plan.plans.RecordQueryPlanWithMatchCandidate
getMatchCandidate
Methods inherited from interface com.apple.foundationdb.record.query.plan.plans.RecordQueryPlanWithNoChildren
getChildren, getQuantifiers
Methods inherited from interface com.apple.foundationdb.record.query.plan.cascades.expressions.RelationalExpression
acceptPropertyVisitor, adjustMatch, bindIdentities, canCorrelate, compensate, enumerateUnboundCorrelatedTo, exactlySubsumedBy, findMatches, getCorrelationOrder, getDynamicTypes, getMatchedQuantifiers, getResultType, hasIncompatibleBoundQuantifiers, hasUnboundQuantifiers, isCompatiblyAndCompletelyBound, match, match, rebase, semanticEquals, semanticEquals, semanticEqualsForResults, semanticHashCode, show, subsumedBy
Methods inherited from interface com.apple.foundationdb.record.query.plan.cascades.typing.Typed
describe
-
Constructor Details
-
LuceneIndexQueryPlan
protected LuceneIndexQueryPlan(@Nonnull PlanSerializationContext serializationContext, @Nonnull com.apple.foundationdb.record.planprotos.PLuceneIndexQueryPlan luceneIndexQueryPlanProto) -
LuceneIndexQueryPlan
protected LuceneIndexQueryPlan(@Nonnull String indexName, @Nonnull LuceneScanParameters scanParameters, @Nonnull RecordQueryFetchFromPartialRecordPlan.FetchIndexRecords fetchIndexRecords, boolean reverse, @Nullable PlanOrderingKey planOrderingKey, @Nullable List<KeyExpression> storedFields)
-
-
Method Details
-
allowedForCoveringIndexPlan
public boolean allowedForCoveringIndexPlan()Auto-Complete and Spell-Check scan has their own implementation forIndexKeyValueToPartialRecord
to build partial records, so they are not appropriate for the optimization byRecordQueryCoveringIndexPlan
.- Specified by:
allowedForCoveringIndexPlan
in interfaceRecordQueryPlanWithIndex
-
hasComparisons
public boolean hasComparisons()- Specified by:
hasComparisons
in interfaceRecordQueryPlanWithComparisons
-
getComparisons
- Specified by:
getComparisons
in interfaceRecordQueryPlanWithComparisons
-
getPlanOrderingKey
- Specified by:
getPlanOrderingKey
in interfacePlanWithOrderingKey
-
getStoredFields
-
getStoredFields
public void getStoredFields(@Nonnull List<KeyExpression> keyFields, @Nonnull List<KeyExpression> nonStoredFields, @Nonnull List<KeyExpression> otherFields) - Specified by:
getStoredFields
in interfacePlanWithStoredFields
-
equals
- Overrides:
equals
in classRecordQueryIndexPlan
-
hashCode
public int hashCode()- Overrides:
hashCode
in classRecordQueryIndexPlan
-
withIndexScanParameters
@Nonnull protected RecordQueryIndexPlan withIndexScanParameters(@Nonnull IndexScanParameters newIndexScanParameters) - Overrides:
withIndexScanParameters
in classRecordQueryIndexPlan
-
of
@Nonnull public static LuceneIndexQueryPlan of(@Nonnull String indexName, @Nonnull LuceneScanParameters scanParameters, @Nonnull RecordQueryFetchFromPartialRecordPlan.FetchIndexRecords fetchIndexRecords, boolean reverse, @Nullable PlanOrderingKey planOrderingKey, @Nullable List<KeyExpression> storedFields) -
explain
@Nonnull public com.apple.foundationdb.record.query.plan.explain.ExplainTokensWithPrecedence explain()- Specified by:
explain
in interfaceRecordQueryPlanWithExplain
-
toProto
- Specified by:
toProto
in interfacePlanSerializable
- Specified by:
toProto
in interfaceRecordQueryPlan
- Overrides:
toProto
in classRecordQueryIndexPlan
-
toLuceneIndexPlanProto
@Nonnull public com.apple.foundationdb.record.planprotos.PLuceneIndexQueryPlan toLuceneIndexPlanProto(@Nonnull PlanSerializationContext serializationContext) -
toRecordQueryPlanProto
@Nonnull public com.apple.foundationdb.record.planprotos.PRecordQueryPlan toRecordQueryPlanProto(@Nonnull PlanSerializationContext serializationContext) - Specified by:
toRecordQueryPlanProto
in interfaceRecordQueryPlan
- Overrides:
toRecordQueryPlanProto
in classRecordQueryIndexPlan
-
fromProto
@Nonnull public static LuceneIndexQueryPlan fromProto(@Nonnull PlanSerializationContext serializationContext, @Nonnull com.apple.foundationdb.record.planprotos.PLuceneIndexQueryPlan luceneIndexQueryPlanProto)
-