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 IndexTracker |
tracker |
Constructor and Description |
---|
LucenePropertyIndex(IndexTracker tracker) |
LucenePropertyIndex(IndexTracker tracker,
ScorerProviderFactory factory) |
LucenePropertyIndex(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 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.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–2020 The Apache Software Foundation. All rights reserved.