blob: fe8abdb82074503c6e614d6c3359e0424545ff3d [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.jackrabbit.oak.plugins.index;
/**
* TODO document
*/
public interface IndexConstants {
String INDEX_DEFINITIONS_NODE_TYPE = "oak:QueryIndexDefinition";
String INDEX_DEFINITIONS_NAME = "oak:index";
String TYPE_PROPERTY_NAME = "type";
/**
* Property to hold the value for original index implementation in case the index type is set to disabled.
*/
String ORIGINAL_TYPE_PROPERTY_NAME = ":originalType";
String TYPE_UNKNOWN = "unknown";
String REINDEX_PROPERTY_NAME = "reindex";
/**
* Boolean property which signals to refresh the stored index definition
*/
String REFRESH_PROPERTY_NAME = "refresh";
String REINDEX_COUNT = "reindexCount";
String REINDEX_ASYNC_PROPERTY_NAME = "reindex-async";
String INDEXING_MODE_SYNC = "sync";
String INDEXING_MODE_NRT = "nrt";
String ASYNC_PROPERTY_NAME = "async";
String ASYNC_REINDEX_VALUE = "async-reindex";
String ENTRY_COUNT_PROPERTY_NAME = "entryCount";
String KEY_COUNT_PROPERTY_NAME = "keyCount";
/**
* The regular expression pattern of the values to be indexes.
*/
String VALUE_PATTERN = "valuePattern";
/**
* A list of prefixes to be excluded from the index.
*/
String VALUE_EXCLUDED_PREFIXES = "valueExcludedPrefixes";
/**
* A list of prefixes to be included from the index.
* Include has higher priority than exclude.
*/
String VALUE_INCLUDED_PREFIXES = "valueIncludedPrefixes";
/**
* Marks a unique property index.
*/
String UNIQUE_PROPERTY_NAME = "unique";
/**
* Defines the names of the properties that are covered by a specific
* property index definition.
*/
String PROPERTY_NAMES = "propertyNames";
/**
* Defines the property name of the "declaringNodeTypes" property with
* allows to restrict a given index definition to specific node types.
*/
String DECLARING_NODE_TYPES = "declaringNodeTypes";
String INDEX_CONTENT_NODE_NAME = ":index";
/**
* MVP to define the paths for which the index can be used to perform
* queries. Defaults to ['/'].
*/
String QUERY_PATHS = "queryPaths";
/**
* Property name for indicating that given index is corrupt and should be excluded
* from further indexing. Its value is the date when this index was marked as
* corrupt
*/
String CORRUPT_PROPERTY_NAME = "corrupt";
/**
* CommitInfo attribute name which refers to the time at which
* async index checkpoint is created i.e. time upto which repository
* state is being indexed in given indexing cycle.
*
* The time is in string for as per Type.DATE
*/
String CHECKPOINT_CREATION_TIME = "indexingCheckpointTime";
/**
* The index tag hint (when using "option(index tagged x, y)", this is IN("x", "y"))
*/
String INDEX_TAG_OPTION = ":indexTag";
/**
* The tags property in the index definition.
*/
String INDEX_TAGS = "tags";
/**
* The property to indicate the index selection policy.
*/
String INDEX_SELECTION_POLICY = "selectionPolicy";
/**
* The index name hint (when using "option(index abc)", this is "abc")
*/
String INDEX_NAME_OPTION = ":indexName";
/**
* Boolean property on any index node indicating that such a node should not be
* removed during reindex
*/
String REINDEX_RETAIN = "retainNodeInReindex";
/**
* Index type for disabled indexes
*/
String TYPE_DISABLED = "disabled";
/**
* Multi value property referring to index paths which current index supersedes
*/
String SUPERSEDED_INDEX_PATHS = "supersedes";
/**
* Boolean flag indicating that old indexes need to be disabled
*/
String DISABLE_INDEXES_ON_NEXT_CYCLE = ":disableIndexesOnNextCycle";
/**
* Whether to use the index. If the given node or property exists, then the
* index is used for queries; otherwise, it is not used (returns infinite
* cost). The value is: nodes, the path. For properties, the path of the node, then '@' property.
*/
String USE_IF_EXISTS = "useIfExists";
/**
* Whether the index is deprecated. If it is, and the index is used, a warning is logged.
*/
String INDEX_DEPRECATED = "deprecated";
/**
* Property name for indicating that given index uses a lightweight version of dynamic boost
*/
String DYNAMIC_BOOST_LITE_PROPERTY_NAME = "dynamicBoostLite";
}