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 to...@apache.org on 2015/11/30 09:57:19 UTC

svn commit: r1717203 - /jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java

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() + "\"");