public class LucenePropertyIndex extends org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndex
To define a lucene index on a subtree you have to add an
oak:index node.
Under it follows the index definition node that:
oak:QueryIndexDefinitiontype property set to luceneasync property set to asyncOptionally you can add
includePropertyTypes propertyexcludePropertyNames propertyreindex flag which when set to true, triggers a full content re-index.
{
NodeBuilder index = root.child("oak:index");
index.child("lucene")
.setProperty("jcr:primaryType", "oak:QueryIndexDefinition", Type.NAME)
.setProperty("type", "lucene")
.setProperty("async", "async")
.setProperty("reindex", "true");
}
QueryIndexorg.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndex.Facet, org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndex.FacetProvider, org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndex.FulltextPathCursor, org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndex.FulltextResultRoworg.apache.jackrabbit.oak.spi.query.QueryIndex.AdvancedQueryIndex, org.apache.jackrabbit.oak.spi.query.QueryIndex.AdvanceFulltextQueryIndex, org.apache.jackrabbit.oak.spi.query.QueryIndex.FulltextQueryIndex, org.apache.jackrabbit.oak.spi.query.QueryIndex.IndexPlan, org.apache.jackrabbit.oak.spi.query.QueryIndex.NativeQueryIndex, org.apache.jackrabbit.oak.spi.query.QueryIndex.NodeAggregator, org.apache.jackrabbit.oak.spi.query.QueryIndex.OrderEntry| Modifier and Type | Field and Description |
|---|---|
static int |
LUCENE_QUERY_BATCH_SIZE
Batch size for fetching results from Lucene queries.
|
protected IndexTracker |
tracker |
ATTR_PLAN_RESULT| Constructor and Description |
|---|
LucenePropertyIndex(IndexTracker tracker) |
LucenePropertyIndex(IndexTracker tracker,
ScorerProviderFactory factory) |
LucenePropertyIndex(IndexTracker tracker,
ScorerProviderFactory factory,
IndexAugmentorFactory augmentorFactory) |
addSyncIndexPlan, determinePropertyType, getCost, getIndexName, getNodeAggregator, getPathRestriction, getPlan, getPlanDescription, getPlanResult, getPlans, getPropertyType, isNodePath, parseFacetField, query, rewriteQueryText, shouldIncludepublic static final int LUCENE_QUERY_BATCH_SIZE
protected final IndexTracker tracker
public LucenePropertyIndex(IndexTracker tracker)
public LucenePropertyIndex(IndexTracker tracker, ScorerProviderFactory factory)
public LucenePropertyIndex(IndexTracker tracker, ScorerProviderFactory factory, IndexAugmentorFactory augmentorFactory)
public double getMinimumCost()
public String getIndexName()
public org.apache.jackrabbit.oak.spi.query.Cursor query(org.apache.jackrabbit.oak.spi.query.QueryIndex.IndexPlan plan, org.apache.jackrabbit.oak.spi.state.NodeState rootState)
protected LuceneIndexNode acquireIndexNode(String indexPath)
acquireIndexNode in class org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndexprotected LuceneIndexNode acquireIndexNode(org.apache.jackrabbit.oak.spi.query.QueryIndex.IndexPlan plan)
protected String getType()
getType in class org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndexprotected org.apache.jackrabbit.oak.plugins.index.search.SizeEstimator getSizeEstimator(org.apache.jackrabbit.oak.spi.query.QueryIndex.IndexPlan plan)
getSizeEstimator in class org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndexprotected Predicate<org.apache.jackrabbit.oak.spi.state.NodeState> getIndexDefinitionPredicate()
protected String getFulltextRequestString(org.apache.jackrabbit.oak.spi.query.QueryIndex.IndexPlan plan, org.apache.jackrabbit.oak.plugins.index.search.IndexNode indexNode)
getFulltextRequestString in class org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndex@NotNull public static @NotNull org.apache.jackrabbit.oak.plugins.index.lucene.LuceneRequestFacade<org.apache.lucene.search.Query> performAdditionalWraps(@NotNull @NotNull List<org.apache.lucene.search.Query> qs)
qs - the list of queries. Cannot be null.Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.