You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ch...@apache.org on 2014/12/07 04:09:06 UTC
svn commit: r1643640 - in /jackrabbit/oak/branches/1.0/oak-lucene/src:
main/java/org/apache/jackrabbit/oak/plugins/index/lucene/
test/java/org/apache/jackrabbit/oak/plugins/index/lucene/
Author: chetanm
Date: Sun Dec 7 03:09:05 2014
New Revision: 1643640
URL: http://svn.apache.org/r1643640
Log:
OAK-2177 - Configurable Analyzer in Lucene index
Merging 1643178 which is required for merging 1643287 for OAK-2306
Modified:
jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java
jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditor.java
jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java
jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java
jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProvider.java
jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LowCostLuceneIndexProvider.java
jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorTest.java
jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexTest.java
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java?rev=1643640&r1=1643639&r2=1643640&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java Sun Dec 7 03:09:05 2014
@@ -52,6 +52,7 @@ import org.apache.jackrabbit.oak.spi.sta
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.util.TreeUtil;
+import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.codecs.Codec;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -282,6 +283,10 @@ class IndexDefinition implements Aggrega
return indexesAllTypes;
}
+ public Analyzer getAnalyzer(){
+ return LuceneIndexConstants.ANALYZER;
+ }
+
@Override
public String toString() {
return "IndexDefinition : " + indexName;
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java?rev=1643640&r1=1643639&r2=1643640&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java Sun Dec 7 03:09:05 2014
@@ -165,15 +165,10 @@ public class LuceneIndex implements Adva
protected final IndexTracker tracker;
- private final Analyzer analyzer;
-
private final NodeAggregator aggregator;
- public LuceneIndex(
- IndexTracker tracker, Analyzer analyzer,
- NodeAggregator aggregator) {
+ public LuceneIndex(IndexTracker tracker, NodeAggregator aggregator) {
this.tracker = tracker;
- this.analyzer = analyzer;
this.aggregator = aggregator;
}
@@ -247,7 +242,7 @@ public class LuceneIndex implements Adva
// we only restrict non-full-text conditions if there is
// no relative property in the full-text constraint
boolean nonFullTextConstraints = parent.isEmpty();
- String planDesc = getQuery(filter, null, nonFullTextConstraints, analyzer, index.getDefinition()) + " ft:(" + ft + ")";
+ String planDesc = getQuery(filter, null, nonFullTextConstraints, index.getDefinition()) + " ft:(" + ft + ")";
if (!parent.isEmpty()) {
planDesc += " parent:" + parent;
}
@@ -333,7 +328,7 @@ public class LuceneIndex implements Adva
try {
IndexSearcher searcher = indexNode.getSearcher();
Query query = getQuery(filter, searcher.getIndexReader(),
- nonFullTextConstraints, analyzer, indexNode.getDefinition());
+ nonFullTextConstraints, indexNode.getDefinition());
TopDocs docs;
long time = System.currentTimeMillis();
if (lastDoc != null) {
@@ -440,8 +435,9 @@ public class LuceneIndex implements Adva
* @return the Lucene query
*/
private static Query getQuery(Filter filter, IndexReader reader,
- boolean nonFullTextConstraints, Analyzer analyzer, IndexDefinition indexDefinition) {
+ boolean nonFullTextConstraints, IndexDefinition indexDefinition) {
List<Query> qs = new ArrayList<Query>();
+ Analyzer analyzer = indexDefinition.getAnalyzer();
FullTextExpression ft = filter.getFullTextConstraint();
if (ft == null) {
// there might be no full-text constraint
@@ -453,7 +449,7 @@ public class LuceneIndex implements Adva
PropertyRestriction pr = filter.getPropertyRestriction(NATIVE_QUERY_FUNCTION);
if (pr != null) {
String query = String.valueOf(pr.first.getValue(pr.first.getType()));
- QueryParser queryParser = new QueryParser(VERSION, "", analyzer);
+ QueryParser queryParser = new QueryParser(VERSION, "", indexDefinition.getAnalyzer());
if (query.startsWith("mlt?")) {
String mltQueryString = query.replace("mlt?", "");
if (reader != null) {
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditor.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditor.java?rev=1643640&r1=1643639&r2=1643640&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditor.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditor.java Sun Dec 7 03:09:05 2014
@@ -51,7 +51,6 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.spi.commit.Editor;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.DoubleDocValuesField;
import org.apache.lucene.document.DoubleField;
@@ -108,12 +107,12 @@ public class LuceneIndexEditor implement
private final MatcherState matcherState;
- LuceneIndexEditor(NodeState root, NodeBuilder definition, Analyzer analyzer,
+ LuceneIndexEditor(NodeState root, NodeBuilder definition,
IndexUpdateCallback updateCallback) throws CommitFailedException {
this.parent = null;
this.name = null;
this.path = "/";
- this.context = new LuceneIndexEditorContext(root, definition, analyzer,
+ this.context = new LuceneIndexEditorContext(root, definition,
updateCallback);
this.root = root;
this.isDeleted = false;
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java?rev=1643640&r1=1643639&r2=1643640&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java Sun Dec 7 03:09:05 2014
@@ -31,7 +31,6 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.util.ISO8601;
-import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.SerialMergeScheduler;
@@ -47,13 +46,13 @@ public class LuceneIndexEditorContext {
private static final Logger log = LoggerFactory
.getLogger(LuceneIndexEditorContext.class);
- private static IndexWriterConfig getIndexWriterConfig(Analyzer analyzer, IndexDefinition definition) {
+ private static IndexWriterConfig getIndexWriterConfig(IndexDefinition definition) {
// FIXME: Hack needed to make Lucene work in an OSGi environment
Thread thread = Thread.currentThread();
ClassLoader loader = thread.getContextClassLoader();
thread.setContextClassLoader(IndexWriterConfig.class.getClassLoader());
try {
- IndexWriterConfig config = new IndexWriterConfig(VERSION, analyzer);
+ IndexWriterConfig config = new IndexWriterConfig(VERSION, definition.getAnalyzer());
config.setMergeScheduler(new SerialMergeScheduler());
if (definition.getCodec() != null) {
config.setCodec(definition.getCodec());
@@ -104,10 +103,10 @@ public class LuceneIndexEditorContext {
private boolean reindex;
- LuceneIndexEditorContext(NodeState root, NodeBuilder definition, Analyzer analyzer, IndexUpdateCallback updateCallback) {
+ LuceneIndexEditorContext(NodeState root, NodeBuilder definition, IndexUpdateCallback updateCallback) {
this.definitionBuilder = definition;
this.definition = new IndexDefinition(root, definition);
- this.config = getIndexWriterConfig(analyzer, this.definition);
+ this.config = getIndexWriterConfig(this.definition);
this.indexedNodes = 0;
this.updateCallback = updateCallback;
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java?rev=1643640&r1=1643639&r2=1643640&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorProvider.java Sun Dec 7 03:09:05 2014
@@ -16,7 +16,6 @@
*/
package org.apache.jackrabbit.oak.plugins.index.lucene;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.ANALYZER;
import static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.TYPE_LUCENE;
import org.apache.felix.scr.annotations.Component;
@@ -28,7 +27,6 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.spi.commit.Editor;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.lucene.analysis.Analyzer;
/**
* Service that provides Lucene based {@link IndexEditor}s
@@ -41,33 +39,15 @@ import org.apache.lucene.analysis.Analyz
@Service(IndexEditorProvider.class)
public class LuceneIndexEditorProvider implements IndexEditorProvider {
- /**
- * TODO how to inject this in an OSGi friendly way?
- */
- private Analyzer analyzer = ANALYZER;
-
@Override
public Editor getIndexEditor(
String type, NodeBuilder definition, NodeState root, IndexUpdateCallback callback)
throws CommitFailedException {
if (TYPE_LUCENE.equals(type)) {
- return new LuceneIndexEditor(root, definition, analyzer, callback);
+ return new LuceneIndexEditor(root, definition, callback);
}
return null;
}
- /**
- * sets the default analyzer that will be used at index time
- */
- public void setAnalyzer(Analyzer analyzer) {
- this.analyzer = analyzer;
- }
-
- // ----- helper builder method
-
- public LuceneIndexEditorProvider with(Analyzer analyzer) {
- this.setAnalyzer(analyzer);
- return this;
- }
}
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProvider.java?rev=1643640&r1=1643639&r2=1643640&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProvider.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProvider.java Sun Dec 7 03:09:05 2014
@@ -28,7 +28,6 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.query.QueryIndex;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.lucene.analysis.Analyzer;
import com.google.common.collect.ImmutableList;
@@ -41,8 +40,6 @@ public class LuceneIndexProvider impleme
protected final IndexTracker tracker;
- protected volatile Analyzer analyzer = LuceneIndexConstants.ANALYZER;
-
protected volatile NodeAggregator aggregator = null;
public LuceneIndexProvider() {
@@ -72,18 +69,11 @@ public class LuceneIndexProvider impleme
}
protected LuceneIndex newLuceneIndex() {
- return new LuceneIndex(tracker, analyzer, aggregator);
+ return new LuceneIndex(tracker, aggregator);
}
protected LucenePropertyIndex newLucenePropertyIndex() {
- return new LucenePropertyIndex(tracker, analyzer);
- }
-
- /**
- * sets the default analyzer that will be used at query time
- */
- public void setAnalyzer(Analyzer analyzer) {
- this.analyzer = analyzer;
+ return new LucenePropertyIndex(tracker);
}
/**
@@ -95,11 +85,6 @@ public class LuceneIndexProvider impleme
// ----- helper builder method
- public LuceneIndexProvider with(Analyzer analyzer) {
- this.setAnalyzer(analyzer);
- return this;
- }
-
public LuceneIndexProvider with(NodeAggregator analyzer) {
this.setAggregator(analyzer);
return this;
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java?rev=1643640&r1=1643639&r2=1643640&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java Sun Dec 7 03:09:05 2014
@@ -44,7 +44,6 @@ import org.apache.jackrabbit.oak.spi.que
import org.apache.jackrabbit.oak.spi.whiteboard.Registration;
import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard;
import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardExecutor;
-import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.util.InfoStream;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;
@@ -66,20 +65,12 @@ public class LuceneIndexProviderService
private final Logger log = LoggerFactory.getLogger(getClass());
- private final Analyzer defaultAnalyzer = LuceneIndexConstants.ANALYZER;
-
@Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY,
policyOption = ReferencePolicyOption.GREEDY,
policy = ReferencePolicy.DYNAMIC
)
private NodeAggregator nodeAggregator;
- @Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY,
- policyOption = ReferencePolicyOption.GREEDY,
- policy = ReferencePolicy.DYNAMIC
- )
- protected Analyzer analyzer;
-
@Property(
boolValue = false,
label = "Enable Debug Logging",
@@ -156,9 +147,6 @@ public class LuceneIndexProviderService
}
indexProvider.setAggregator(nodeAggregator);
-
- Analyzer analyzer = this.analyzer != null ? this.analyzer : defaultAnalyzer;
- indexProvider.setAnalyzer(analyzer);
}
private void initializeLogging(Map<String, ?> config) {
@@ -211,14 +199,4 @@ public class LuceneIndexProviderService
this.nodeAggregator = null;
initialize();
}
-
- protected void bindAnalyzer(Analyzer analyzer) {
- this.analyzer = analyzer;
- initialize();
- }
-
- protected void unbindAnalyzer(Analyzer analyzer) {
- this.analyzer = null;
- initialize();
- }
}
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java?rev=1643640&r1=1643639&r2=1643640&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java Sun Dec 7 03:09:05 2014
@@ -165,12 +165,8 @@ public class LucenePropertyIndex impleme
protected final IndexTracker tracker;
- private final Analyzer analyzer;
-
- public LucenePropertyIndex(
- IndexTracker tracker, Analyzer analyzer) {
+ public LucenePropertyIndex(IndexTracker tracker) {
this.tracker = tracker;
- this.analyzer = analyzer;
}
@Override
@@ -225,7 +221,7 @@ public class LucenePropertyIndex impleme
.append("(")
.append(path)
.append(") ");
- sb.append(getQuery(plan, null, analyzer));
+ sb.append(getQuery(plan, null));
if(plan.getSortOrder() != null && !plan.getSortOrder().isEmpty()){
sb.append(" ordering:").append(plan.getSortOrder());
}
@@ -299,7 +295,7 @@ public class LucenePropertyIndex impleme
checkState(indexNode != null);
try {
IndexSearcher searcher = indexNode.getSearcher();
- Query query = getQuery(plan, searcher.getIndexReader(), analyzer);
+ Query query = getQuery(plan, searcher.getIndexReader());
TopDocs docs;
long time = System.currentTimeMillis();
if (lastDoc != null) {
@@ -416,12 +412,13 @@ public class LucenePropertyIndex impleme
* @param defn nodestate that contains the index definition
* @return the Lucene query
*/
- private static Query getQuery(IndexPlan plan, IndexReader reader, Analyzer analyzer) {
+ private static Query getQuery(IndexPlan plan, IndexReader reader) {
List<Query> qs = new ArrayList<Query>();
Filter filter = plan.getFilter();
FullTextExpression ft = filter.getFullTextConstraint();
PlanResult planResult = pr(plan);
IndexDefinition defn = planResult.indexDefinition;
+ Analyzer analyzer = defn.getAnalyzer();
if (ft == null) {
// there might be no full-text constraint
// when using the LowCostLuceneIndexProvider
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LowCostLuceneIndexProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LowCostLuceneIndexProvider.java?rev=1643640&r1=1643639&r2=1643640&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LowCostLuceneIndexProvider.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LowCostLuceneIndexProvider.java Sun Dec 7 03:09:05 2014
@@ -22,7 +22,6 @@ import java.util.List;
import org.apache.jackrabbit.oak.plugins.index.aggregate.NodeAggregator;
import org.apache.jackrabbit.oak.spi.query.Filter;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.lucene.analysis.Analyzer;
/**
* A LuceneIndexProvider that return a LuceneIndex with a really low cost, so
@@ -33,13 +32,13 @@ public class LowCostLuceneIndexProvider
@Override
protected LuceneIndex newLuceneIndex() {
- return new LowCostLuceneIndex(tracker, analyzer, aggregator);
+ return new LowCostLuceneIndex(tracker, aggregator);
}
private static class LowCostLuceneIndex extends LuceneIndex {
- public LowCostLuceneIndex(IndexTracker tracker, Analyzer analyzer, NodeAggregator aggregator) {
- super(tracker, analyzer, aggregator);
+ public LowCostLuceneIndex(IndexTracker tracker, NodeAggregator aggregator) {
+ super(tracker, aggregator);
}
@Override
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorTest.java?rev=1643640&r1=1643639&r2=1643640&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorTest.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorTest.java Sun Dec 7 03:09:05 2014
@@ -32,7 +32,6 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.test.ISO8601;
-import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.Term;
import org.apache.lucene.queryparser.classic.ParseException;
@@ -64,11 +63,9 @@ import static org.junit.Assert.assertNul
import static org.junit.Assert.fail;
public class LuceneIndexEditorTest {
- private static final Analyzer analyzer = LuceneIndexConstants.ANALYZER;
-
private static final EditorHook HOOK = new EditorHook(
new IndexUpdateProvider(
- new LuceneIndexEditorProvider().with(analyzer)));
+ new LuceneIndexEditorProvider()));
private NodeState root = INITIAL_CONTENT;
@@ -83,7 +80,7 @@ public class LuceneIndexEditorTest {
NodeBuilder index = builder.child(INDEX_DEFINITIONS_NAME);
NodeBuilder idxnb = newLuceneIndexDefinitionV2(index, "lucene",
of(TYPENAME_STRING));
-
+ IndexDefinition defn = new IndexDefinition(root, idxnb.getNodeState());
NodeState before = builder.getNodeState();
builder.child("test").setProperty("foo", "fox is jumping");
builder.child("test").setProperty("price", 100);
@@ -93,7 +90,7 @@ public class LuceneIndexEditorTest {
tracker.update(indexed);
//system fields starts with ':' so need to be escaped
- assertEquals("/test", query(escape(FieldNames.createAnalyzedFieldName("foo"))+":fox"));
+ assertEquals("/test", query(escape(FieldNames.createAnalyzedFieldName("foo"))+":fox", defn));
assertNull("Non string properties not indexed by default",
getPath(NumericRangeQuery.newLongRange("price", 100L, 100L, true, true)));
}
@@ -109,7 +106,7 @@ public class LuceneIndexEditorTest {
of(TYPENAME_STRING));
nb.setProperty(LuceneIndexConstants.FULL_TEXT_ENABLED, false);
nb.setProperty(createProperty(INCLUDE_PROPERTY_NAMES, of("foo", "price", "weight", "bool", "creationTime"), STRINGS));
-
+ IndexDefinition defn = new IndexDefinition(root, nb.getNodeState());
NodeState before = builder.getNodeState();
builder.child("test").setProperty("foo", "fox is jumping");
builder.child("test").setProperty("bar", "kite is flying");
@@ -123,7 +120,7 @@ public class LuceneIndexEditorTest {
NodeState indexed = HOOK.processCommit(before, after, CommitInfo.EMPTY);
tracker.update(indexed);
- assertNull("Fulltext search should not work", query("foo:fox"));
+ assertNull("Fulltext search should not work", query("foo:fox",defn));
assertEquals("/test", getPath(new TermQuery(new Term("foo", "fox is jumping"))));
assertNull("bar must NOT be indexed", getPath(new TermQuery(new Term("bar", "kite is flying"))));
@@ -340,8 +337,8 @@ public class LuceneIndexEditorTest {
indexNode = null;
}
- private String query(String query) throws IOException, ParseException {
- QueryParser queryParser = new QueryParser(VERSION, "", analyzer);
+ private String query(String query, IndexDefinition defn) throws IOException, ParseException {
+ QueryParser queryParser = new QueryParser(VERSION, "", defn.getAnalyzer());
return getPath(queryParser.parse(query));
}
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexTest.java?rev=1643640&r1=1643639&r2=1643640&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexTest.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexTest.java Sun Dec 7 03:09:05 2014
@@ -75,11 +75,9 @@ import com.google.common.collect.Immutab
public class LuceneIndexTest {
- private static final Analyzer analyzer = LuceneIndexConstants.ANALYZER;
-
private static final EditorHook HOOK = new EditorHook(
new IndexUpdateProvider(
- new LuceneIndexEditorProvider().with(analyzer)));
+ new LuceneIndexEditorProvider()));
private NodeState root = INITIAL_CONTENT;
@@ -100,7 +98,7 @@ public class LuceneIndexTest {
IndexTracker tracker = new IndexTracker();
tracker.update(indexed);
- AdvancedQueryIndex queryIndex = new LucenePropertyIndex(tracker, analyzer);
+ AdvancedQueryIndex queryIndex = new LucenePropertyIndex(tracker);
FilterImpl filter = createFilter(NT_BASE);
filter.restrictPath("/", Filter.PathRestriction.EXACT);
filter.restrictProperty("foo", Operator.EQUAL,
@@ -130,7 +128,7 @@ public class LuceneIndexTest {
IndexTracker tracker = new IndexTracker();
tracker.update(indexed);
- AdvancedQueryIndex queryIndex = new LucenePropertyIndex(tracker, analyzer);
+ AdvancedQueryIndex queryIndex = new LucenePropertyIndex(tracker);
FilterImpl filter = createFilter(NT_BASE);
filter.restrictProperty("foo", Operator.EQUAL,
PropertyValues.newString("bar"));
@@ -163,7 +161,7 @@ public class LuceneIndexTest {
IndexTracker tracker = new IndexTracker();
tracker.update(indexed);
- AdvancedQueryIndex queryIndex = new LucenePropertyIndex(tracker, analyzer);
+ AdvancedQueryIndex queryIndex = new LucenePropertyIndex(tracker);
FilterImpl filter = createFilter(NT_BASE);
// filter.restrictPath("/", Filter.PathRestriction.EXACT);
filter.restrictProperty("foo", Operator.EQUAL,
@@ -202,7 +200,7 @@ public class LuceneIndexTest {
IndexTracker tracker = new IndexTracker();
tracker.update(indexed);
- AdvancedQueryIndex queryIndex = new LucenePropertyIndex(tracker, analyzer);
+ AdvancedQueryIndex queryIndex = new LucenePropertyIndex(tracker);
FilterImpl filter = createFilter(NT_BASE);
// filter.restrictPath("/", Filter.PathRestriction.EXACT);
filter.restrictProperty("foo", Operator.EQUAL,
@@ -226,6 +224,7 @@ public class LuceneIndexTest {
@Test
public void testTokens() {
+ Analyzer analyzer = LuceneIndexConstants.ANALYZER;
assertEquals(ImmutableList.of("parent", "child"),
LuceneIndex.tokenize("/parent/child", analyzer));
assertEquals(ImmutableList.of("p1234", "p5678"),
@@ -369,7 +368,7 @@ public class LuceneIndexTest {
private void assertQuery(IndexTracker tracker, NodeState indexed, String key, String value){
- AdvancedQueryIndex queryIndex = new LucenePropertyIndex(tracker, analyzer);
+ AdvancedQueryIndex queryIndex = new LucenePropertyIndex(tracker);
FilterImpl filter = createFilter(NT_BASE);
filter.restrictPath("/", Filter.PathRestriction.EXACT);
filter.restrictProperty(key, Operator.EQUAL,