Class LuceneIndexQueryPlan
java.lang.Object
com.apple.foundationdb.record.query.plan.cascades.expressions.AbstractRelationalExpression
com.apple.foundationdb.record.query.plan.cascades.expressions.AbstractRelationalExpressionWithoutChildren
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.PlanHashModeNested 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, strictlySortedFields inherited from interface com.apple.foundationdb.record.PlanHashable
CURRENT_FOR_CONTINUATION, CURRENT_LEGACYFields inherited from interface com.apple.foundationdb.record.query.plan.plans.QueryPlan
UNKNOWN_MAX_CARDINALITY -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedLuceneIndexQueryPlan(PlanSerializationContext serializationContext, com.apple.foundationdb.record.planprotos.PLuceneIndexQueryPlan luceneIndexQueryPlanProto) protectedLuceneIndexQueryPlan(String indexName, LuceneScanParameters scanParameters, RecordQueryFetchFromPartialRecordPlan.FetchIndexRecords fetchIndexRecords, boolean reverse, PlanOrderingKey planOrderingKey, List<KeyExpression> storedFields) -
Method Summary
Modifier and TypeMethodDescriptionbooleanAuto-Complete and Spell-Check scan has their own implementation forIndexKeyValueToPartialRecordto build partial records, so they are not appropriate for the optimization byRecordQueryCoveringIndexPlan.intbooleancom.apple.foundationdb.record.query.plan.explain.ExplainTokensWithPrecedenceexplain()static LuceneIndexQueryPlanfromProto(PlanSerializationContext serializationContext, com.apple.foundationdb.record.planprotos.PLuceneIndexQueryPlan luceneIndexQueryPlanProto) voidgetStoredFields(List<KeyExpression> keyFields, List<KeyExpression> nonStoredFields, List<KeyExpression> otherFields) booleanstatic LuceneIndexQueryPlanof(String indexName, LuceneScanParameters scanParameters, RecordQueryFetchFromPartialRecordPlan.FetchIndexRecords fetchIndexRecords, boolean reverse, PlanOrderingKey planOrderingKey, List<KeyExpression> storedFields) com.apple.foundationdb.record.planprotos.PLuceneIndexQueryPlantoLuceneIndexPlanProto(PlanSerializationContext serializationContext) toProto(PlanSerializationContext serializationContext) com.apple.foundationdb.record.planprotos.PRecordQueryPlantoRecordQueryPlanProto(PlanSerializationContext serializationContext) protected RecordQueryIndexPlanwithIndexScanParameters(IndexScanParameters newIndexScanParameters) Methods inherited from class com.apple.foundationdb.record.query.plan.plans.RecordQueryIndexPlan
canBeMinimized, computeCorrelatedToWithoutChildren, createIndexPlannerGraph, equalsWithoutChildren, executeEntries, executePlan, fromProto, getAvailableFields, getCommonPrimaryKey, getComparisonRanges, getComplexity, getConstraint, getFetchIndexRecords, getIndexFetchMethod, getIndexName, getMatchCandidateMaybe, getResultValue, getScanComparisons, getScanParameters, getScanType, getUsedIndexes, hasComparisonRanges, hasFullRecordScan, hashCode, hasIndexScan, hasLoadBykeys, hasRecordScan, hasScanComparisons, isReverse, isStrictlySorted, logPlanStructure, maxCardinality, minimize, planHash, strictlySorted, toRecordQueryIndexPlanProto, toString, translateCorrelationsMethods inherited from class com.apple.foundationdb.record.query.plan.cascades.expressions.AbstractRelationalExpressionWithoutChildren
getCorrelatedToMethods inherited from class com.apple.foundationdb.record.query.plan.cascades.expressions.AbstractRelationalExpression
getCorrelatedToWithoutChildren, hashCodeWithoutChildrenMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.apple.foundationdb.record.query.plan.cascades.Correlated
getCorrelatedTo, isCorrelatedToMethods inherited from interface com.apple.foundationdb.record.query.plan.cascades.Narrowable
narrowMaybeMethods inherited from interface com.apple.foundationdb.record.PlanHashable
planHash, planHashMethods inherited from interface com.apple.foundationdb.record.query.plan.plans.QueryPlan
collectDescendantPlans, execute, executeMethods inherited from interface com.apple.foundationdb.record.query.plan.plans.RecordQueryPlan
accept, execute, execute, execute, execute, getQueryPlanChildren, minimize, structuralEquals, structuralEquals, structuralHashCodeMethods inherited from interface com.apple.foundationdb.record.query.plan.plans.RecordQueryPlanWithIndex
fetchIndexRecords, rewritePlannerGraphMethods inherited from interface com.apple.foundationdb.record.query.plan.plans.RecordQueryPlanWithMatchCandidate
getMatchCandidateMethods inherited from interface com.apple.foundationdb.record.query.plan.plans.RecordQueryPlanWithNoChildren
getChildren, getQuantifiersMethods inherited from interface com.apple.foundationdb.record.query.plan.cascades.expressions.RelationalExpression
acceptVisitor, adjustMatch, bindIdentities, canCorrelate, compensate, enumerateUnboundCorrelatedTo, exactlySubsumedBy, findMatches, getCorrelatedToWithoutChildren, getCorrelationOrder, getDynamicTypes, getMatchedQuantifiers, getResultType, hashCodeWithoutChildren, hasIncompatibleBoundQuantifiers, hasUnboundQuantifiers, isCompatiblyAndCompletelyBound, match, match, rebase, semanticEquals, semanticEquals, semanticEqualsForResults, semanticHashCode, show, showExploratory, subsumedBy, withQuantifiersMethods 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 forIndexKeyValueToPartialRecordto build partial records, so they are not appropriate for the optimization byRecordQueryCoveringIndexPlan.- Specified by:
allowedForCoveringIndexPlanin interfaceRecordQueryPlanWithIndex
-
hasComparisons
public boolean hasComparisons()- Specified by:
hasComparisonsin interfaceRecordQueryPlanWithComparisons
-
getComparisons
- Specified by:
getComparisonsin interfaceRecordQueryPlanWithComparisons
-
getPlanOrderingKey
- Specified by:
getPlanOrderingKeyin interfacePlanWithOrderingKey
-
getStoredFields
-
getStoredFields
public void getStoredFields(@Nonnull List<KeyExpression> keyFields, @Nonnull List<KeyExpression> nonStoredFields, @Nonnull List<KeyExpression> otherFields) - Specified by:
getStoredFieldsin interfacePlanWithStoredFields
-
equals
- Overrides:
equalsin classRecordQueryIndexPlan
-
computeHashCodeWithoutChildren
public int computeHashCodeWithoutChildren()- Overrides:
computeHashCodeWithoutChildrenin classRecordQueryIndexPlan
-
withIndexScanParameters
@Nonnull protected RecordQueryIndexPlan withIndexScanParameters(@Nonnull IndexScanParameters newIndexScanParameters) - Overrides:
withIndexScanParametersin 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:
explainin interfaceRecordQueryPlanWithExplain
-
toProto
- Specified by:
toProtoin interfacePlanSerializable- Specified by:
toProtoin interfaceRecordQueryPlan- Overrides:
toProtoin 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:
toRecordQueryPlanProtoin interfaceRecordQueryPlan- Overrides:
toRecordQueryPlanProtoin classRecordQueryIndexPlan
-
fromProto
@Nonnull public static LuceneIndexQueryPlan fromProto(@Nonnull PlanSerializationContext serializationContext, @Nonnull com.apple.foundationdb.record.planprotos.PLuceneIndexQueryPlan luceneIndexQueryPlanProto)
-