Interface QueryIndex.IndexPlan

All Superinterfaces:
Cloneable
Enclosing interface:
QueryIndex

@ProviderType public static interface QueryIndex.IndexPlan extends Cloneable
An index plan.
  • Field Details

    • LOG

      static final Logger LOG
  • Method Details

    • getCostPerExecution

      double getCostPerExecution()
      The cost to execute the query once. The returned value should approximately match the number of disk read operations plus the number of network roundtrips (worst case).
      Returns:
      the cost per execution, in estimated number of I/O operations
    • getCostPerEntry

      double getCostPerEntry()
      The cost to read one entry from the cursor. The returned value should approximately match the number of disk read operations plus the number of network roundtrips (worst case).
      Returns:
      the lookup cost per entry, in estimated number of I/O operations
    • getEstimatedEntryCount

      long getEstimatedEntryCount()
      The estimated number of entries in the cursor that is returned by the query method, when using this plan. This value does not have to be accurate.
      Returns:
      the estimated number of entries
    • getFilter

      Filter getFilter()
      The filter to use.
      Returns:
      the filter
    • setFilter

      void setFilter(Filter filter)
      Use the given filter.
    • isDelayed

      boolean isDelayed()
      Whether the index is not always up-to-date.
      Returns:
      whether the index might be updated asynchronously
    • isFulltextIndex

      boolean isFulltextIndex()
      Whether the fulltext part of the filter is evaluated (possibly with an extended syntax). If set, the fulltext part of the filter is not evaluated any more within the query engine.
      Returns:
      whether the index supports full-text extraction
    • includesNodeData

      boolean includesNodeData()
      Whether the cursor is able to read all properties from a node. If yes, then the query engine will not have to read the data itself.
      Returns:
      whether node data is returned
    • getSortOrder

      List<QueryIndex.OrderEntry> getSortOrder()
      The sort order of the returned entries, or null if unsorted.
      Returns:
      the sort order
    • getDefinition

      NodeState getDefinition()
      The node state with the index definition.
      Returns:
      the node state with the index definition.
    • getPathPrefix

      String getPathPrefix()
      The path prefix for this index plan.
    • getSupportsPathRestriction

      boolean getSupportsPathRestriction()
      Whether index for this plan supports handling path restrictions natively.
    • getPropertyRestriction

      @Nullable @Nullable Filter.PropertyRestriction getPropertyRestriction()
      The property restriction for this index plan or null if this index plan isn't base on a property restriction. E.g. a plan based on an order by clause in the query.
      Returns:
      the restriction this plan is based on or null.
    • copy

      Creates a cloned copy of current plan. Mostly used when the filter needs to be modified for a given call
      Returns:
      clone of current plan
    • getAttribute

      @Nullable @Nullable Object getAttribute(String name)
      Returns the value of the named attribute as an Object, or null if no attribute of the given name exists.
      Parameters:
      name - String specifying the name of the attribute
      Returns:
      an Object containing the value of the attribute, or null if the attribute does not exist
    • getPlanName

      @Nullable @Nullable String getPlanName()
      Get the unique plan name.
      Returns:
      the plan name
    • isDeprecated

      boolean isDeprecated()
      Whether the index is deprecated.
      Returns:
      if it is deprecated
    • logWarningForPathFilterMismatch

      default boolean logWarningForPathFilterMismatch()
    • getAdditionalLogMessages

      default Map<String,List<String>> getAdditionalLogMessages()
      This method can be used for communicating any messages which should be logged if this plan is selected for execution. The messages are returned as a map whose key indicates log level and value is a list of messages against that log level.
      Returns:
      map containing log messages.