public class LuceneIndex extends Object implements 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 String |
NATIVE_QUERY_FUNCTION |
protected IndexTracker |
tracker |
Constructor and Description |
---|
LuceneIndex(IndexTracker tracker,
org.apache.jackrabbit.oak.spi.query.QueryIndex.NodeAggregator aggregator) |
public static final String NATIVE_QUERY_FUNCTION
protected final IndexTracker tracker
public LuceneIndex(IndexTracker tracker, org.apache.jackrabbit.oak.spi.query.QueryIndex.NodeAggregator aggregator)
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
protected static org.apache.jackrabbit.oak.spi.query.QueryIndex.IndexPlan.Builder planBuilder(org.apache.jackrabbit.oak.spi.query.Filter filter)
public org.apache.jackrabbit.oak.spi.query.QueryIndex.NodeAggregator getNodeAggregator()
getNodeAggregator
in interface org.apache.jackrabbit.oak.spi.query.QueryIndex.FulltextQueryIndex
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.