You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2015/07/14 21:44:05 UTC
svn commit: r1691067 - in /lucene/dev/branches/branch_5x: ./ lucene/
lucene/queryparser/
lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/
lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/
Author: mikemccand
Date: Tue Jul 14 19:44:04 2015
New Revision: 1691067
URL: http://svn.apache.org/r1691067
Log:
LUCENE-6677: QueryParser should pass its maxDeterminizedStates when creating WildcardQuery
Modified:
lucene/dev/branches/branch_5x/ (props changed)
lucene/dev/branches/branch_5x/lucene/ (props changed)
lucene/dev/branches/branch_5x/lucene/CHANGES.txt (contents, props changed)
lucene/dev/branches/branch_5x/lucene/queryparser/ (props changed)
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java
Modified: lucene/dev/branches/branch_5x/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/CHANGES.txt?rev=1691067&r1=1691066&r2=1691067&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/branch_5x/lucene/CHANGES.txt Tue Jul 14 19:44:04 2015
@@ -214,6 +214,9 @@ Bug fixes
* LUCENE-6658: Fix IndexUpgrader to also upgrade indexes without any
segments. (Trejkaz, Uwe Schindler)
+* LUCENE-6677: QueryParserBase fails to enforce maxDeterminizedStates when
+ creating a WildcardQuery (David Causse via Mike McCandless)
+
Changes in Runtime Behavior
* LUCENE-6501: The subreader structure in ParallelCompositeReader
Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java?rev=1691067&r1=1691066&r2=1691067&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java Tue Jul 14 19:44:04 2015
@@ -660,7 +660,7 @@ public abstract class QueryParserBase ex
* @return new WildcardQuery instance
*/
protected Query newWildcardQuery(Term t) {
- WildcardQuery query = new WildcardQuery(t);
+ WildcardQuery query = new WildcardQuery(t, maxDeterminizedStates);
query.setRewriteMethod(multiTermRewriteMethod);
return query;
}
Modified: lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java?rev=1691067&r1=1691066&r2=1691067&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java Tue Jul 14 19:44:04 2015
@@ -17,8 +17,6 @@ package org.apache.lucene.queryparser.cl
* limitations under the License.
*/
-import java.io.IOException;
-
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
@@ -37,6 +35,9 @@ import org.apache.lucene.search.BooleanQ
import org.apache.lucene.search.MultiPhraseQuery;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.util.automaton.TooComplexToDeterminizeException;
+
+import java.io.IOException;
/**
* Tests QueryParser.
@@ -489,5 +490,16 @@ public class TestQueryParser extends Que
expected.setSlop(3);
assertEquals(expected, qp.parse("\"ä¸å½\"~3^2"));
}
-
+
+ /** LUCENE-6677: make sure wildcard query respects maxDeterminizedStates. */
+ public void testWildcardMaxDeterminizedStates() throws Exception {
+ QueryParser qp = new QueryParser("field", new MockAnalyzer(random()));
+ qp.setMaxDeterminizedStates(10);
+ try {
+ qp.parse("a*aaaaaaa");
+ fail("should have hit exception");
+ } catch (TooComplexToDeterminizeException tctde) {
+ // expected
+ }
+ }
}