public class LucenePropertyIndex extends Object implements org.apache.jackrabbit.oak.spi.query.QueryIndex.AdvancedQueryIndex, org.apache.jackrabbit.oak.spi.query.QueryIndex, org.apache.jackrabbit.oak.spi.query.QueryIndex.NativeQueryIndex, org.apache.jackrabbit.oak.spi.query.QueryIndex.AdvanceFulltextQueryIndex
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:QueryIndexDefinition
type
property set to lucene
async
property set to async
Optionally 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");
}
QueryIndex
org.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 |
Constructor and Description |
---|
LucenePropertyIndex(IndexTracker tracker) |
LucenePropertyIndex(IndexTracker tracker,
ScorerProviderFactory factory) |
LucenePropertyIndex(IndexTracker tracker,
ScorerProviderFactory factory,
IndexAugmentorFactory augmentorFactory) |
public 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()
getMinimumCost
in interface org.apache.jackrabbit.oak.spi.query.QueryIndex
public String getIndexName()
getIndexName
in interface org.apache.jackrabbit.oak.spi.query.QueryIndex
public List<org.apache.jackrabbit.oak.spi.query.QueryIndex.IndexPlan> getPlans(org.apache.jackrabbit.oak.spi.query.Filter filter, List<org.apache.jackrabbit.oak.spi.query.QueryIndex.OrderEntry> sortOrder, org.apache.jackrabbit.oak.spi.state.NodeState rootState)
getPlans
in interface org.apache.jackrabbit.oak.spi.query.QueryIndex.AdvancedQueryIndex
public double getCost(org.apache.jackrabbit.oak.spi.query.Filter filter, org.apache.jackrabbit.oak.spi.state.NodeState root)
getCost
in interface org.apache.jackrabbit.oak.spi.query.QueryIndex
public String getPlan(org.apache.jackrabbit.oak.spi.query.Filter filter, org.apache.jackrabbit.oak.spi.state.NodeState root)
getPlan
in interface org.apache.jackrabbit.oak.spi.query.QueryIndex
public String getPlanDescription(org.apache.jackrabbit.oak.spi.query.QueryIndex.IndexPlan plan, org.apache.jackrabbit.oak.spi.state.NodeState root)
getPlanDescription
in interface org.apache.jackrabbit.oak.spi.query.QueryIndex.AdvancedQueryIndex
public org.apache.jackrabbit.oak.spi.query.Cursor query(org.apache.jackrabbit.oak.spi.query.Filter filter, org.apache.jackrabbit.oak.spi.state.NodeState root)
query
in interface org.apache.jackrabbit.oak.spi.query.QueryIndex
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)
query
in interface org.apache.jackrabbit.oak.spi.query.QueryIndex.AdvancedQueryIndex
public org.apache.jackrabbit.oak.spi.query.QueryIndex.NodeAggregator getNodeAggregator()
getNodeAggregator
in interface org.apache.jackrabbit.oak.spi.query.QueryIndex.FulltextQueryIndex
public static boolean isNodePath(String fulltextTermPath)
@Nonnull public static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneRequestFacade<org.apache.lucene.search.Query> performAdditionalWraps(@Nonnull List<org.apache.lucene.search.Query> qs)
qs
- the list of queries. Cannot be null.Copyright © 2012–2017 The Apache Software Foundation. All rights reserved.