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