Class LucenePropertyIndex
- java.lang.Object
 - 
- org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndex
 - 
- org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex
 
 
 
- 
- All Implemented Interfaces:
 QueryIndex,QueryIndex.AdvancedQueryIndex,QueryIndex.AdvanceFulltextQueryIndex,QueryIndex.FulltextQueryIndex,QueryIndex.NativeQueryIndex
public class LucenePropertyIndex extends org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndexUsed to query new (compatVersion 2) Lucene indexes. Provides a QueryIndex that does lookups against a Lucene-based indexTo define a lucene index on a subtree you have to add an
oak:indexnode. Under it follows the index definition node that:- must be of type 
oak:QueryIndexDefinition - must have the 
typeproperty set tolucene - must have the 
asyncproperty set toasync 
Optionally you can add
- what subset of property types to be included in the index via the 
includePropertyTypesproperty - a blacklist of property names: what property to be excluded from the index via the 
excludePropertyNamesproperty - the 
reindexflag which when set totrue, 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"); }- See Also:
 QueryIndex
 
- 
- 
Nested Class Summary
- 
Nested classes/interfaces inherited from class org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndex
org.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.FulltextResultRow, org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndex.IteratorRewoundStateProvider 
- 
Nested classes/interfaces inherited from interface org.apache.jackrabbit.oak.spi.query.QueryIndex
QueryIndex.AdvancedQueryIndex, QueryIndex.AdvanceFulltextQueryIndex, QueryIndex.FulltextQueryIndex, QueryIndex.IndexPlan, QueryIndex.NativeQueryIndex, QueryIndex.NodeAggregator, QueryIndex.OrderEntry 
 - 
 
- 
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCACHE_FACET_RESULTS_NAMEstatic java.lang.StringEAGER_FACET_CACHE_FILL_NAMEstatic intLUCENE_QUERY_BATCH_SIZEBatch size for fetching results from Lucene queries.static java.lang.StringOLD_FACET_PROVIDER_CONFIG_NAME 
- 
Constructor Summary
Constructors Constructor Description LucenePropertyIndex(IndexTracker tracker)LucenePropertyIndex(IndexTracker tracker, IndexAugmentorFactory augmentorFactory) 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetIndexName()Get the generic index name (normally the index type).static @NotNull org.apache.jackrabbit.oak.plugins.index.lucene.LuceneRequestFacade<Query>performAdditionalWraps(@NotNull java.util.List<Query> qs)Perform additional wraps on the list of queries to allow, for example, the NOT CONTAINS to play properly when sent to lucene.Cursorquery(QueryIndex.IndexPlan plan, NodeState rootState)Start a query.- 
Methods inherited from class org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndex
convertFacetFieldNameToColumnName, determinePropertyType, getCost, getMinimumCost, getNodeAggregator, getPathRestriction, getPlan, getPlanDescription, getPlans, isNodePath, parseFacetField, query, rewriteQueryText 
- 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
Methods inherited from interface org.apache.jackrabbit.oak.spi.query.QueryIndex
getIndexName 
 - 
 
 - 
 
- 
- 
Field Detail
- 
OLD_FACET_PROVIDER_CONFIG_NAME
public static final java.lang.String OLD_FACET_PROVIDER_CONFIG_NAME
- See Also:
 - Constant Field Values
 
 
- 
CACHE_FACET_RESULTS_NAME
public static final java.lang.String CACHE_FACET_RESULTS_NAME
- See Also:
 - Constant Field Values
 
 
- 
EAGER_FACET_CACHE_FILL_NAME
public static final java.lang.String EAGER_FACET_CACHE_FILL_NAME
- See Also:
 - Constant Field Values
 
 
- 
LUCENE_QUERY_BATCH_SIZE
public static final int LUCENE_QUERY_BATCH_SIZE
Batch size for fetching results from Lucene queries.- See Also:
 - Constant Field Values
 
 
 - 
 
- 
Constructor Detail
- 
LucenePropertyIndex
public LucenePropertyIndex(IndexTracker tracker)
 
- 
LucenePropertyIndex
public LucenePropertyIndex(IndexTracker tracker, IndexAugmentorFactory augmentorFactory)
 
 - 
 
- 
Method Detail
- 
getIndexName
public java.lang.String getIndexName()
Description copied from interface:QueryIndexGet the generic index name (normally the index type).- Returns:
 - the index name
 
 
- 
query
public Cursor query(QueryIndex.IndexPlan plan, NodeState rootState)
Description copied from interface:QueryIndex.AdvancedQueryIndexStart a query. The filter and sort order of the index plan is to be used.The index plan is one of the plans that the index returned in the getPlans call.
- Parameters:
 plan- the index plan to userootState- root state of the current repository snapshot- Returns:
 - a cursor to iterate over the result
 
 
- 
performAdditionalWraps
@NotNull public static @NotNull org.apache.jackrabbit.oak.plugins.index.lucene.LuceneRequestFacade<Query> performAdditionalWraps(@NotNull @NotNull java.util.List<Query> qs)
Perform additional wraps on the list of queries to allow, for example, the NOT CONTAINS to play properly when sent to lucene.- Parameters:
 qs- the list of queries. Cannot be null.- Returns:
 - the request facade
 
 
 - 
 
 -