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 property
excludePropertyNames property
reindex 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.OrderEntry
Modifier and Type | Field and Description |
---|---|
protected org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker |
tracker |
Constructor and Description |
---|
LucenePropertyIndex(org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker tracker) |
LucenePropertyIndex(org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker tracker,
ScorerProviderFactory factory) |
LucenePropertyIndex(org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker tracker,
ScorerProviderFactory factory,
IndexAugmentorFactory augmentorFactory) |
Modifier and Type | Method and Description |
---|---|
double |
getCost(org.apache.jackrabbit.oak.spi.query.Filter filter,
org.apache.jackrabbit.oak.spi.state.NodeState root) |
String |
getIndexName() |
double |
getMinimumCost() |
org.apache.jackrabbit.oak.plugins.index.aggregate.NodeAggregator |
getNodeAggregator() |
String |
getPlan(org.apache.jackrabbit.oak.spi.query.Filter filter,
org.apache.jackrabbit.oak.spi.state.NodeState root) |
String |
getPlanDescription(org.apache.jackrabbit.oak.spi.query.QueryIndex.IndexPlan plan,
org.apache.jackrabbit.oak.spi.state.NodeState root) |
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) |
static boolean |
isNodePath(String fulltextTermPath)
In a fulltext term for jcr:contains(foo, 'bar') 'foo'
is the property name.
|
static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneRequestFacade<org.apache.lucene.search.Query> |
performAdditionalWraps(List<org.apache.lucene.search.Query> qs)
Perform additional wraps on the list of queries to allow, for example, the NOT CONTAINS to
play properly when sent to lucene.
|
org.apache.jackrabbit.oak.spi.query.Cursor |
query(org.apache.jackrabbit.oak.spi.query.Filter filter,
org.apache.jackrabbit.oak.spi.state.NodeState root) |
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 final org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker tracker
public LucenePropertyIndex(org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker tracker)
public LucenePropertyIndex(org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker tracker, ScorerProviderFactory factory)
public LucenePropertyIndex(org.apache.jackrabbit.oak.plugins.index.lucene.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.plugins.index.aggregate.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-2016 The Apache Software Foundation. All Rights Reserved.