You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by us...@apache.org on 2009/10/20 18:06:31 UTC
svn commit: r827717 - in /lucene/java/trunk: ./
contrib/collation/src/test/org/apache/lucene/collation/
contrib/highlighter/src/test/org/apache/lucene/search/highlight/
src/java/org/apache/lucene/queryParser/
Author: uschindler
Date: Tue Oct 20 16:06:29 2009
New Revision: 827717
URL: http://svn.apache.org/viewvc?rev=827717&view=rev
Log:
Remove deprecations from QueryParser and generify (LUCENE-1257) QueryParser
Modified:
lucene/java/trunk/common-build.xml
lucene/java/trunk/contrib/collation/src/test/org/apache/lucene/collation/CollationTestBase.java
lucene/java/trunk/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
lucene/java/trunk/src/java/org/apache/lucene/queryParser/MultiFieldQueryParser.java
lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.java
lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.jj
Modified: lucene/java/trunk/common-build.xml
URL: http://svn.apache.org/viewvc/lucene/java/trunk/common-build.xml?rev=827717&r1=827716&r2=827717&view=diff
==============================================================================
--- lucene/java/trunk/common-build.xml (original)
+++ lucene/java/trunk/common-build.xml Tue Oct 20 16:06:29 2009
@@ -200,10 +200,10 @@
Then, create a build.properties file either in your home
directory, or within the Lucene directory and set the javacc.home
property to the path where JavaCC is installed. For example,
- if you installed JavaCC in /usr/local/java/javacc-3.2, then set the
+ if you installed JavaCC in /usr/local/java/javacc-4.1, then set the
javacc.home property to:
- javacc.home=/usr/local/java/javacc-3.2
+ javacc.home=/usr/local/java/javacc-4.1
If you get an error like the one below, then you have not installed
things correctly. Please check all your paths and try again.
Modified: lucene/java/trunk/contrib/collation/src/test/org/apache/lucene/collation/CollationTestBase.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/collation/src/test/org/apache/lucene/collation/CollationTestBase.java?rev=827717&r1=827716&r2=827717&view=diff
==============================================================================
--- lucene/java/trunk/contrib/collation/src/test/org/apache/lucene/collation/CollationTestBase.java (original)
+++ lucene/java/trunk/contrib/collation/src/test/org/apache/lucene/collation/CollationTestBase.java Tue Oct 20 16:06:29 2009
@@ -93,7 +93,6 @@
// supported).
// Test TermRangeQuery
- aqp.setUseOldRangeQuery(false);
ScoreDoc[] result
= is.search(aqp.parse("[ \u062F TO \u0698 ]"), null, 1000).scoreDocs;
assertEquals("The index Term should not be included.", 0, result.length);
@@ -101,14 +100,6 @@
result = is.search(aqp.parse("[ \u0633 TO \u0638 ]"), null, 1000).scoreDocs;
assertEquals("The index Term should be included.", 1, result.length);
- // Test TermRangeQuery
- aqp.setUseOldRangeQuery(true);
- result = is.search(aqp.parse("[ \u062F TO \u0698 ]"), null, 1000).scoreDocs;
- assertEquals("The index Term should not be included.", 0, result.length);
-
- result = is.search(aqp.parse("[ \u0633 TO \u0638 ]"), null, 1000).scoreDocs;
- assertEquals("The index Term should be included.", 1, result.length);
-
is.close();
}
Modified: lucene/java/trunk/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java?rev=827717&r1=827716&r2=827717&view=diff
==============================================================================
--- lucene/java/trunk/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java (original)
+++ lucene/java/trunk/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java Tue Oct 20 16:06:29 2009
@@ -543,7 +543,7 @@
// rather
// than RangeFilters
QueryParser parser = new QueryParser(FIELD_NAME, new StandardAnalyzer());
- parser.setUseOldRangeQuery(true);
+ parser.setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
query = parser.parse(queryString);
doSearching(query);
Modified: lucene/java/trunk/src/java/org/apache/lucene/queryParser/MultiFieldQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/queryParser/MultiFieldQueryParser.java?rev=827717&r1=827716&r2=827717&view=diff
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/queryParser/MultiFieldQueryParser.java (original)
+++ lucene/java/trunk/src/java/org/apache/lucene/queryParser/MultiFieldQueryParser.java Tue Oct 20 16:06:29 2009
@@ -36,7 +36,7 @@
public class MultiFieldQueryParser extends QueryParser
{
protected String[] fields;
- protected Map boosts;
+ protected Map<String,Float> boosts;
/**
* Creates a MultiFieldQueryParser.
@@ -65,7 +65,7 @@
* <p>In other words, all the query's terms must appear, but it doesn't matter in
* what fields they appear.</p>
*/
- public MultiFieldQueryParser(String[] fields, Analyzer analyzer, Map boosts) {
+ public MultiFieldQueryParser(String[] fields, Analyzer analyzer, Map<String,Float> boosts) {
this(fields,analyzer);
this.boosts = boosts;
}
@@ -97,14 +97,14 @@
protected Query getFieldQuery(String field, String queryText, int slop) throws ParseException {
if (field == null) {
- List clauses = new ArrayList();
+ List<BooleanClause> clauses = new ArrayList<BooleanClause>();
for (int i = 0; i < fields.length; i++) {
Query q = super.getFieldQuery(fields[i], queryText);
if (q != null) {
//If the user passes a map of boosts
if (boosts != null) {
//Get the boost from the map and apply them
- Float boost = (Float)boosts.get(fields[i]);
+ Float boost = boosts.get(fields[i]);
if (boost != null) {
q.setBoost(boost.floatValue());
}
@@ -139,7 +139,7 @@
protected Query getFuzzyQuery(String field, String termStr, float minSimilarity) throws ParseException
{
if (field == null) {
- List clauses = new ArrayList();
+ List<BooleanClause> clauses = new ArrayList<BooleanClause>();
for (int i = 0; i < fields.length; i++) {
clauses.add(new BooleanClause(getFuzzyQuery(fields[i], termStr, minSimilarity),
BooleanClause.Occur.SHOULD));
@@ -152,7 +152,7 @@
protected Query getPrefixQuery(String field, String termStr) throws ParseException
{
if (field == null) {
- List clauses = new ArrayList();
+ List<BooleanClause> clauses = new ArrayList<BooleanClause>();
for (int i = 0; i < fields.length; i++) {
clauses.add(new BooleanClause(getPrefixQuery(fields[i], termStr),
BooleanClause.Occur.SHOULD));
@@ -164,7 +164,7 @@
protected Query getWildcardQuery(String field, String termStr) throws ParseException {
if (field == null) {
- List clauses = new ArrayList();
+ List<BooleanClause> clauses = new ArrayList<BooleanClause>();
for (int i = 0; i < fields.length; i++) {
clauses.add(new BooleanClause(getWildcardQuery(fields[i], termStr),
BooleanClause.Occur.SHOULD));
@@ -177,7 +177,7 @@
protected Query getRangeQuery(String field, String part1, String part2, boolean inclusive) throws ParseException {
if (field == null) {
- List clauses = new ArrayList();
+ List<BooleanClause> clauses = new ArrayList<BooleanClause>();
for (int i = 0; i < fields.length; i++) {
clauses.add(new BooleanClause(getRangeQuery(fields[i], part1, part2, inclusive),
BooleanClause.Occur.SHOULD));
Modified: lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.java?rev=827717&r1=827716&r2=827717&view=diff
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.java (original)
+++ lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.java Tue Oct 20 16:06:29 2009
@@ -137,7 +137,7 @@
// the default date resolution
DateTools.Resolution dateResolution = null;
// maps field names to date resolutions
- Map fieldToDateResolution = null;
+ Map<String,DateTools.Resolution> fieldToDateResolution = null;
// The collator to use when determining range inclusion,
// for use when constructing RangeQuerys.
@@ -336,29 +336,6 @@
}
/**
- * @deprecated Please use {@link #setMultiTermRewriteMethod} instead.
- */
- public void setUseOldRangeQuery(boolean useOldRangeQuery) {
- if (useOldRangeQuery) {
- setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
- } else {
- setMultiTermRewriteMethod(MultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT);
- }
- }
-
-
- /**
- * @deprecated Please use {@link #getMultiTermRewriteMethod} instead.
- */
- public boolean getUseOldRangeQuery() {
- if (getMultiTermRewriteMethod() == MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE) {
- return true;
- } else {
- return false;
- }
- }
-
- /**
* By default QueryParser uses {@link MultiTermQuery#CONSTANT_SCORE_AUTO_REWRITE_DEFAULT}
* when creating a PrefixQuery, WildcardQuery or RangeQuery. This implementation is generally preferable because it
* a) Runs faster b) Does not have the scarcity of terms unduly influence score
@@ -418,7 +395,7 @@
if (fieldToDateResolution == null) {
// lazily initialize HashMap
- fieldToDateResolution = new HashMap();
+ fieldToDateResolution = new HashMap<String,DateTools.Resolution>();
}
fieldToDateResolution.put(fieldName, dateResolution);
@@ -473,20 +450,13 @@
return rangeCollator;
}
- /**
- * @deprecated use {@link #addClause(List, int, int, Query)} instead.
- */
- protected void addClause(Vector clauses, int conj, int mods, Query q) {
- addClause((List) clauses, conj, mods, q);
- }
-
- protected void addClause(List clauses, int conj, int mods, Query q) {
+ protected void addClause(List<BooleanClause> clauses, int conj, int mods, Query q) {
boolean required, prohibited;
// If this term is introduced by AND, make the preceding term required,
// unless it's already prohibited
if (clauses.size() > 0 && conj == CONJ_AND) {
- BooleanClause c = (BooleanClause) clauses.get(clauses.size()-1);
+ BooleanClause c = clauses.get(clauses.size()-1);
if (!c.isProhibited())
c.setOccur(BooleanClause.Occur.MUST);
}
@@ -496,7 +466,7 @@
// unless it's prohibited (that means we leave -a OR b but +a OR b-->a OR b)
// notice if the input is a OR b, first term is parsed as required; without
// this modification a OR b would parsed as +a OR b
- BooleanClause c = (BooleanClause) clauses.get(clauses.size()-1);
+ BooleanClause c = clauses.get(clauses.size()-1);
if (!c.isProhibited())
c.setOccur(BooleanClause.Occur.SHOULD);
}
@@ -635,7 +605,7 @@
// phrase query:
MultiPhraseQuery mpq = newMultiPhraseQuery();
mpq.setSlop(phraseSlop);
- List multiTerms = new ArrayList();
+ List<Term> multiTerms = new ArrayList<Term>();
int position = -1;
for (int i = 0; i < numTokens; i++) {
String term = null;
@@ -653,9 +623,9 @@
if (positionIncrement > 0 && multiTerms.size() > 0) {
if (enablePositionIncrements) {
- mpq.add((Term[])multiTerms.toArray(new Term[0]),position);
+ mpq.add(multiTerms.toArray(new Term[0]),position);
} else {
- mpq.add((Term[])multiTerms.toArray(new Term[0]));
+ mpq.add(multiTerms.toArray(new Term[0]));
}
multiTerms.clear();
}
@@ -663,9 +633,9 @@
multiTerms.add(new Term(field, term));
}
if (enablePositionIncrements) {
- mpq.add((Term[])multiTerms.toArray(new Term[0]),position);
+ mpq.add(multiTerms.toArray(new Term[0]),position);
} else {
- mpq.add((Term[])multiTerms.toArray(new Term[0]));
+ mpq.add(multiTerms.toArray(new Term[0]));
}
return mpq;
}
@@ -885,26 +855,8 @@
*
* @return Resulting {@link Query} object.
* @exception ParseException throw in overridden method to disallow
- * @deprecated use {@link #getBooleanQuery(List)} instead
- */
- protected Query getBooleanQuery(Vector clauses) throws ParseException {
- return getBooleanQuery((List) clauses, false);
- }
-
- /**
- * Factory method for generating query, given a set of clauses.
- * By default creates a boolean query composed of clauses passed in.
- *
- * Can be overridden by extending classes, to modify query being
- * returned.
- *
- * @param clauses List that contains {@link BooleanClause} instances
- * to join.
- *
- * @return Resulting {@link Query} object.
- * @exception ParseException throw in overridden method to disallow
*/
- protected Query getBooleanQuery(List clauses) throws ParseException {
+ protected Query getBooleanQuery(List<BooleanClause> clauses) throws ParseException {
return getBooleanQuery(clauses, false);
}
@@ -921,37 +873,16 @@
*
* @return Resulting {@link Query} object.
* @exception ParseException throw in overridden method to disallow
- * @deprecated use {@link #getBooleanQuery(List, boolean)} instead
- */
- protected Query getBooleanQuery(Vector clauses, boolean disableCoord)
- throws ParseException
- {
- return getBooleanQuery((List) clauses, disableCoord);
- }
-
- /**
- * Factory method for generating query, given a set of clauses.
- * By default creates a boolean query composed of clauses passed in.
- *
- * Can be overridden by extending classes, to modify query being
- * returned.
- *
- * @param clauses List that contains {@link BooleanClause} instances
- * to join.
- * @param disableCoord true if coord scoring should be disabled.
- *
- * @return Resulting {@link Query} object.
- * @exception ParseException throw in overridden method to disallow
*/
- protected Query getBooleanQuery(List clauses, boolean disableCoord)
+ protected Query getBooleanQuery(List<BooleanClause> clauses, boolean disableCoord)
throws ParseException
{
if (clauses.size()==0) {
return null; // all clause words were filtered away by the analyzer.
}
BooleanQuery query = newBooleanQuery(disableCoord);
- for (int i = 0; i < clauses.size(); i++) {
- query.add((BooleanClause)clauses.get(i));
+ for(final BooleanClause clause: clauses) {
+ query.add(clause);
}
return query;
}
@@ -1234,7 +1165,7 @@
}
final public Query Query(String field) throws ParseException {
- List clauses = new ArrayList();
+ List<BooleanClause> clauses = new ArrayList<BooleanClause>();
Query q, firstQuery=null;
int conj, mods;
mods = Modifiers();
Modified: lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.jj
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.jj?rev=827717&r1=827716&r2=827717&view=diff
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.jj (original)
+++ lucene/java/trunk/src/java/org/apache/lucene/queryParser/QueryParser.jj Tue Oct 20 16:06:29 2009
@@ -161,7 +161,7 @@
// the default date resolution
DateTools.Resolution dateResolution = null;
// maps field names to date resolutions
- Map fieldToDateResolution = null;
+ Map<String,DateTools.Resolution> fieldToDateResolution = null;
// The collator to use when determining range inclusion,
// for use when constructing RangeQuerys.
@@ -360,29 +360,6 @@
}
/**
- * @deprecated Please use {@link #setMultiTermRewriteMethod} instead.
- */
- public void setUseOldRangeQuery(boolean useOldRangeQuery) {
- if (useOldRangeQuery) {
- setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
- } else {
- setMultiTermRewriteMethod(MultiTermQuery.CONSTANT_SCORE_AUTO_REWRITE_DEFAULT);
- }
- }
-
-
- /**
- * @deprecated Please use {@link #getMultiTermRewriteMethod} instead.
- */
- public boolean getUseOldRangeQuery() {
- if (getMultiTermRewriteMethod() == MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE) {
- return true;
- } else {
- return false;
- }
- }
-
- /**
* By default QueryParser uses {@link MultiTermQuery#CONSTANT_SCORE_AUTO_REWRITE_DEFAULT}
* when creating a PrefixQuery, WildcardQuery or RangeQuery. This implementation is generally preferable because it
* a) Runs faster b) Does not have the scarcity of terms unduly influence score
@@ -442,7 +419,7 @@
if (fieldToDateResolution == null) {
// lazily initialize HashMap
- fieldToDateResolution = new HashMap();
+ fieldToDateResolution = new HashMap<String,DateTools.Resolution>();
}
fieldToDateResolution.put(fieldName, dateResolution);
@@ -497,20 +474,13 @@
return rangeCollator;
}
- /**
- * @deprecated use {@link #addClause(List, int, int, Query)} instead.
- */
- protected void addClause(Vector clauses, int conj, int mods, Query q) {
- addClause((List) clauses, conj, mods, q);
- }
-
- protected void addClause(List clauses, int conj, int mods, Query q) {
+ protected void addClause(List<BooleanClause> clauses, int conj, int mods, Query q) {
boolean required, prohibited;
// If this term is introduced by AND, make the preceding term required,
// unless it's already prohibited
if (clauses.size() > 0 && conj == CONJ_AND) {
- BooleanClause c = (BooleanClause) clauses.get(clauses.size()-1);
+ BooleanClause c = clauses.get(clauses.size()-1);
if (!c.isProhibited())
c.setOccur(BooleanClause.Occur.MUST);
}
@@ -520,7 +490,7 @@
// unless it's prohibited (that means we leave -a OR b but +a OR b-->a OR b)
// notice if the input is a OR b, first term is parsed as required; without
// this modification a OR b would parsed as +a OR b
- BooleanClause c = (BooleanClause) clauses.get(clauses.size()-1);
+ BooleanClause c = clauses.get(clauses.size()-1);
if (!c.isProhibited())
c.setOccur(BooleanClause.Occur.SHOULD);
}
@@ -659,7 +629,7 @@
// phrase query:
MultiPhraseQuery mpq = newMultiPhraseQuery();
mpq.setSlop(phraseSlop);
- List multiTerms = new ArrayList();
+ List<Term> multiTerms = new ArrayList<Term>();
int position = -1;
for (int i = 0; i < numTokens; i++) {
String term = null;
@@ -677,9 +647,9 @@
if (positionIncrement > 0 && multiTerms.size() > 0) {
if (enablePositionIncrements) {
- mpq.add((Term[])multiTerms.toArray(new Term[0]),position);
+ mpq.add(multiTerms.toArray(new Term[0]),position);
} else {
- mpq.add((Term[])multiTerms.toArray(new Term[0]));
+ mpq.add(multiTerms.toArray(new Term[0]));
}
multiTerms.clear();
}
@@ -687,9 +657,9 @@
multiTerms.add(new Term(field, term));
}
if (enablePositionIncrements) {
- mpq.add((Term[])multiTerms.toArray(new Term[0]),position);
+ mpq.add(multiTerms.toArray(new Term[0]),position);
} else {
- mpq.add((Term[])multiTerms.toArray(new Term[0]));
+ mpq.add(multiTerms.toArray(new Term[0]));
}
return mpq;
}
@@ -909,26 +879,8 @@
*
* @return Resulting {@link Query} object.
* @exception ParseException throw in overridden method to disallow
- * @deprecated use {@link #getBooleanQuery(List)} instead
- */
- protected Query getBooleanQuery(Vector clauses) throws ParseException {
- return getBooleanQuery((List) clauses, false);
- }
-
- /**
- * Factory method for generating query, given a set of clauses.
- * By default creates a boolean query composed of clauses passed in.
- *
- * Can be overridden by extending classes, to modify query being
- * returned.
- *
- * @param clauses List that contains {@link BooleanClause} instances
- * to join.
- *
- * @return Resulting {@link Query} object.
- * @exception ParseException throw in overridden method to disallow
*/
- protected Query getBooleanQuery(List clauses) throws ParseException {
+ protected Query getBooleanQuery(List<BooleanClause> clauses) throws ParseException {
return getBooleanQuery(clauses, false);
}
@@ -945,37 +897,16 @@
*
* @return Resulting {@link Query} object.
* @exception ParseException throw in overridden method to disallow
- * @deprecated use {@link #getBooleanQuery(List, boolean)} instead
- */
- protected Query getBooleanQuery(Vector clauses, boolean disableCoord)
- throws ParseException
- {
- return getBooleanQuery((List) clauses, disableCoord);
- }
-
- /**
- * Factory method for generating query, given a set of clauses.
- * By default creates a boolean query composed of clauses passed in.
- *
- * Can be overridden by extending classes, to modify query being
- * returned.
- *
- * @param clauses List that contains {@link BooleanClause} instances
- * to join.
- * @param disableCoord true if coord scoring should be disabled.
- *
- * @return Resulting {@link Query} object.
- * @exception ParseException throw in overridden method to disallow
*/
- protected Query getBooleanQuery(List clauses, boolean disableCoord)
+ protected Query getBooleanQuery(List<BooleanClause> clauses, boolean disableCoord)
throws ParseException
{
if (clauses.size()==0) {
return null; // all clause words were filtered away by the analyzer.
}
BooleanQuery query = newBooleanQuery(disableCoord);
- for (int i = 0; i < clauses.size(); i++) {
- query.add((BooleanClause)clauses.get(i));
+ for(final BooleanClause clause: clauses) {
+ query.add(clause);
}
return query;
}
@@ -1286,7 +1217,7 @@
Query Query(String field) :
{
- List clauses = new ArrayList();
+ List<BooleanClause> clauses = new ArrayList<BooleanClause>();
Query q, firstQuery=null;
int conj, mods;
}