lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 16730] New: - ESCAPING BUG \(abc\) and \(a*c\) in v1.2
Date Mon, 03 Feb 2003 19:25:49 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16730>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16730

ESCAPING BUG \(abc\) and \(a*c\) in v1.2

           Summary: ESCAPING BUG \(abc\) and \(a*c\) in v1.2
           Product: Lucene
           Version: 1.2
          Platform: All
        OS/Version: Windows XP
            Status: NEW
          Severity: Major
          Priority: Other
         Component: QueryParser
        AssignedTo: lucene-dev@jakarta.apache.org
        ReportedBy: lzap@seznam.cz


PLEASE TEST THIS CODE:

----------------------------------------------

import junit.framework.*;
import org.apache.lucene.index.*;
import org.apache.lucene.analysis.*;
import org.apache.lucene.analysis.standard.*;
import org.apache.lucene.store.*;
import org.apache.lucene.document.*;
import org.apache.lucene.search.*;
import org.apache.lucene.queryParser.*;

/**
 * Escape bug (now with same analyzers). By lzap@root.cz.
 * Here is the description:
 *
 * When searching for \(abc\) everything is ok. But let`s search for: \(a?c\)
 * YES! Nothing found! It`s same with \" and maybe other escaped characters. 
 *
 * User: Lukas Zapletal
 * Date: Feb 1, 2003
 *
 * JUnit test case follows:
 */
public class juEscapeBug extends TestCase {
    Directory dir = new RAMDirectory();
    String testText = "This is a test. (abc) Is there a bug OR not? \"Question\"!";

    public juEscapeBug(String tn) {
        super(tn);
    }

    protected void setUp() throws Exception {
        IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer(), true);
        Document doc = new Document();
        doc.add(Field.Text("contents", testText));
        writer.addDocument(doc);
        writer.optimize();
        writer.close();
    }

    private boolean doQuery(String queryString) throws Exception {
        Searcher searcher = new IndexSearcher(dir);
        Analyzer analyzer = new StandardAnalyzer();
        Query query = QueryParser.parse(queryString, "contents", analyzer);
        Hits hits = searcher.search(query);
        searcher.close();
        return (hits.length() == 1);
    }

    public void testBugOk1() throws Exception {
        assertTrue(doQuery("Test"));
    }
    public void testBugOk2() throws Exception {
        assertFalse(doQuery("This is not there"));
    }
    public void testBugOk3() throws Exception {
        assertTrue(doQuery("abc"));
    }
    public void testBugOk4() throws Exception {
        assertTrue(doQuery("\\(abc\\)"));
    }
    public void testBugHere1() throws Exception {
        assertTrue(doQuery("\\(a?c\\)")); // BUG HERE !!!
    }
    public void testBugHere2() throws Exception {
        assertTrue(doQuery("\\(a*\\)")); // BUG HERE !!!
    }
    public void testBugHere3() throws Exception {
        assertTrue(doQuery("\\\"qu*on\\\"")); // BUG HERE !!!
    }
}

---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-dev-help@jakarta.apache.org


Mime
View raw message