dnaber 2004/09/06 15:09:13 Modified: src/java/org/apache/lucene/search Query.java TermQuery.java src/test/org/apache/lucene/queryParser TestQueryParser.java Log: Undo my fix for bug 30985, as it fixes only part of the problem. Instead add a comment about this "bug" to the API documentation. Revision Changes Path 1.17 +11 -4 jakarta-lucene/src/java/org/apache/lucene/search/Query.java Index: Query.java =================================================================== RCS file: /home/cvs/jakarta-lucene/src/java/org/apache/lucene/search/Query.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- Query.java 2 Mar 2004 13:48:10 -0000 1.16 +++ Query.java 6 Sep 2004 22:09:13 -0000 1.17 @@ -58,10 +58,17 @@ public float getBoost() { return boost; } /** Prints a query to a string, with <code>field</code> as the default field - * for terms. <p>The representation used is one that is readable by - * [EMAIL PROTECTED] org.apache.lucene.queryParser.QueryParser QueryParser} - * (although, if the query was created by the parser, the printed - * representation may not be exactly what was parsed). + * for terms. <p>The representation used is one that is supposed to be readable + * by [EMAIL PROTECTED] org.apache.lucene.queryParser.QueryParser QueryParser}. However, + * there are the following limitations: + * <ul> + * <li>If the query was created by the parser, the printed + * representation may not be exactly what was parsed. For example, + * characters that need to be escaped will be represented without + * the required backslash.</li> + * <li>Some of the more complicated queries (e.g. span queries) + * don't have a representation that can be parsed by QueryParser.</li> + * </ul> */ public abstract String toString(String field); 1.13 +2 -3 jakarta-lucene/src/java/org/apache/lucene/search/TermQuery.java Index: TermQuery.java =================================================================== RCS file: /home/cvs/jakarta-lucene/src/java/org/apache/lucene/search/TermQuery.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- TermQuery.java 3 Sep 2004 21:12:22 -0000 1.12 +++ TermQuery.java 6 Sep 2004 22:09:13 -0000 1.13 @@ -20,7 +20,6 @@ import org.apache.lucene.index.Term; import org.apache.lucene.index.TermDocs; import org.apache.lucene.index.IndexReader; -import org.apache.lucene.queryParser.QueryParser; /** A Query that matches documents containing a term. This may be combined with other terms with a [EMAIL PROTECTED] BooleanQuery}. @@ -143,10 +142,10 @@ public String toString(String field) { StringBuffer buffer = new StringBuffer(); if (!term.field().equals(field)) { - buffer.append(QueryParser.escape(term.field())); + buffer.append(term.field()); buffer.append(":"); } - buffer.append(QueryParser.escape(term.text())); + buffer.append(term.text()); if (getBoost() != 1.0f) { buffer.append("^"); buffer.append(Float.toString(getBoost())); 1.29 +13 -14 jakarta-lucene/src/test/org/apache/lucene/queryParser/TestQueryParser.java Index: TestQueryParser.java =================================================================== RCS file: /home/cvs/jakarta-lucene/src/test/org/apache/lucene/queryParser/TestQueryParser.java,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- TestQueryParser.java 3 Sep 2004 21:16:28 -0000 1.28 +++ TestQueryParser.java 6 Sep 2004 22:09:13 -0000 1.29 @@ -317,7 +317,8 @@ public void testEscaped() throws Exception { Analyzer a = new WhitespaceAnalyzer(); - assertQueryEquals("\\[brackets", a, "\\[brackets"); + + /*assertQueryEquals("\\[brackets", a, "\\[brackets"); assertQueryEquals("\\[brackets", null, "brackets"); assertQueryEquals("\\\\", a, "\\\\"); assertQueryEquals("\\+blah", a, "\\+blah"); @@ -337,21 +338,19 @@ assertQueryEquals("\\~blah", a, "\\~blah"); assertQueryEquals("\\*blah", a, "\\*blah"); assertQueryEquals("\\?blah", a, "\\?blah"); - - // TODO: what about these? //assertQueryEquals("foo \\&\\& bar", a, "foo \\&\\& bar"); //assertQueryEquals("foo \\|| bar", a, "foo \\|| bar"); - //assertQueryEquals("foo \\AND bar", a, "foo \\AND bar"); + //assertQueryEquals("foo \\AND bar", a, "foo \\AND bar");*/ - assertQueryEquals("a\\-b:c", a, "a\\-b:c"); - assertQueryEquals("a\\+b:c", a, "a\\+b:c"); - assertQueryEquals("a\\:b:c", a, "a\\:b:c"); - assertQueryEquals("a\\\\b:c", a, "a\\\\b:c"); - - assertQueryEquals("a:b\\-c", a, "a:b\\-c"); - assertQueryEquals("a:b\\+c", a, "a:b\\+c"); - assertQueryEquals("a:b\\:c", a, "a:b\\:c"); - assertQueryEquals("a:b\\\\c", a, "a:b\\\\c"); + assertQueryEquals("a\\-b:c", a, "a-b:c"); + assertQueryEquals("a\\+b:c", a, "a+b:c"); + assertQueryEquals("a\\:b:c", a, "a:b:c"); + assertQueryEquals("a\\\\b:c", a, "a\\b:c"); + + assertQueryEquals("a:b\\-c", a, "a:b-c"); + assertQueryEquals("a:b\\+c", a, "a:b+c"); + assertQueryEquals("a:b\\:c", a, "a:b:c"); + assertQueryEquals("a:b\\\\c", a, "a:b\\c"); assertQueryEquals("a:b\\-c*", a, "a:b-c*"); assertQueryEquals("a:b\\+c*", a, "a:b+c*"); @@ -363,7 +362,7 @@ assertQueryEquals("a:b\\+?c", a, "a:b+?c"); assertQueryEquals("a:b\\:?c", a, "a:b:?c"); - assertQueryEquals("a:b\\\\?c", a, "a:b\\\\\\?c"); + assertQueryEquals("a:b\\\\?c", a, "a:b\\?c"); assertQueryEquals("a:b\\-c~", a, "a:b-c~"); assertQueryEquals("a:b\\+c~", a, "a:b+c~");
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]