Author: tommaso
Date: Mon Nov 30 08:57:19 2015
New Revision: 1717203
URL: http://svn.apache.org/viewvc?rev=1717203&view=rev
Log:
OAK-3407 - fixed QP instantiation to avoid 'too many clause' exception
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java?rev=1717203&r1=1717202&r2=1717203&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
(original)
+++
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
Mon Nov 30 08:57:19 2015
@@ -77,7 +77,6 @@ import org.apache.lucene.index.MultiFiel
import org.apache.lucene.index.StoredFieldVisitor;
import org.apache.lucene.index.Term;
import org.apache.lucene.queries.CustomScoreQuery;
-import org.apache.lucene.queryparser.classic.MultiFieldQueryParser;
import org.apache.lucene.queryparser.classic.ParseException;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.lucene.queryparser.flexible.core.QueryNodeException;
@@ -432,8 +431,10 @@ public class LucenePropertyIndex impleme
List<Lookup.LookupResult> lookupResults =
SuggestHelper.getSuggestions(indexNode.getLookup(), suggestQuery);
- Collection<String> indexedFields =
MultiFields.getIndexedFields(searcher.getIndexReader());
- QueryParser qp = new
MultiFieldQueryParser(Version.LUCENE_47, indexedFields.toArray(new
String[indexedFields.size()]), indexNode.getDefinition().getAnalyzer());
+ QueryParser qp = new QueryParser(Version.LUCENE_47,
FieldNames.SUGGEST,
+ indexNode.getDefinition().isSuggestAnalyzed()
? indexNode.getDefinition().getAnalyzer() :
+ SuggestHelper.getAnalyzer());
+
// ACL filter suggestions
for (Lookup.LookupResult suggestion : lookupResults) {
Query query = qp.parse("\"" +
suggestion.key.toString() + "\"");