From lucene-dev-return-6335-apmail-jakarta-lucene-dev-archive=jakarta.apache.org@jakarta.apache.org Sat May 08 15:32:37 2004 Return-Path: Delivered-To: apmail-jakarta-lucene-dev-archive@www.apache.org Received: (qmail 12463 invoked from network); 8 May 2004 15:32:37 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 8 May 2004 15:32:37 -0000 Received: (qmail 82160 invoked by uid 500); 8 May 2004 15:32:28 -0000 Delivered-To: apmail-jakarta-lucene-dev-archive@jakarta.apache.org Received: (qmail 82143 invoked by uid 500); 8 May 2004 15:32:28 -0000 Mailing-List: contact lucene-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Lucene Developers List" Reply-To: "Lucene Developers List" Delivered-To: mailing list lucene-dev@jakarta.apache.org Received: (qmail 82123 invoked from network); 8 May 2004 15:32:28 -0000 Received: from unknown (HELO ErikHatcher.local) (24.51.109.181) by daedalus.apache.org with SMTP; 8 May 2004 15:32:28 -0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) by ErikHatcher.local (Postfix) with ESMTP id EC7CF6DDB6A for ; Sat, 8 May 2004 11:32:32 -0400 (EDT) Mime-Version: 1.0 (Apple Message framework v613) In-Reply-To: <7AE657E5-A102-11D8-BBD5-000393A564E6@ehatchersolutions.com> References: <20040508150619.3893.qmail@minotaur.apache.org> <7AE657E5-A102-11D8-BBD5-000393A564E6@ehatchersolutions.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Erik Hatcher Subject: Re: FilteredQuery bug Date: Sat, 8 May 2004 11:18:26 -0400 To: "Lucene Developers List" X-Mailer: Apple Mail (2.613) X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N I suppose the actual bug error message would be handy too: java.lang.UnsupportedOperationException at org.apache.lucene.search.Query.createWeight(Query.java:78) at org.apache.lucene.search.FilteredQuery.createWeight(FilteredQuery.java: 60) at org.apache.lucene.search.Query.weight(Query.java:85) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:86) at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:64) at org.apache.lucene.search.Hits.(Hits.java:43) at org.apache.lucene.search.Searcher.search(Searcher.java:33) at org.apache.lucene.search.Searcher.search(Searcher.java:27) at org.apache.lucene.search.TestFilteredQuery.testRangeQuery(TestFilteredQu ery.java:126) On May 8, 2004, at 11:15 AM, Erik Hatcher wrote: > In my toying with FilteredQuery, I've found a bug. I've added a test > case (with a commented out hacked fix) to TestFilteredQuery. > > A Query.rewrite is needed somewhere, although I'm not sure the best > place for it. Should FilteredQuery override rewrite? Or should it > simply rewrite the nested Query in the constructor? Or another > possibility? > > FilteredQuery is cool... although my head is spinning with > QueryFilter, FilteredQuery, and Filter (as well as the completely > unrelated TokenFilter). I'm still trying to work out a compelling > example of why you'd use FilteredQuery over the other options - I'd > love to see how it is being used. > > Erik > > > On May 8, 2004, at 11:06 AM, ehatcher@apache.org wrote: > >> ehatcher 2004/05/08 08:06:19 >> >> Modified: src/test/org/apache/lucene/search >> TestFilteredQuery.java >> Log: >> expected, then actual :) also, uncovered a bug in FilteredQuery, a >> rewrite is needed somewhere >> >> Revision Changes Path >> 1.2 +21 -9 >> jakarta-lucene/src/test/org/apache/lucene/search/ >> TestFilteredQuery.java >> >> Index: TestFilteredQuery.java >> =================================================================== >> RCS file: >> /home/cvs/jakarta-lucene/src/test/org/apache/lucene/search/ >> TestFilteredQuery.java,v >> retrieving revision 1.1 >> retrieving revision 1.2 >> diff -u -r1.1 -r1.2 >> --- TestFilteredQuery.java 21 Apr 2004 19:18:44 -0000 1.1 >> +++ TestFilteredQuery.java 8 May 2004 15:06:19 -0000 1.2 >> @@ -95,24 +95,36 @@ >> throws Exception { >> Query filteredquery = new FilteredQuery (query, filter); >> Hits hits = searcher.search (filteredquery); >> - assertEquals (hits.length(), 1); >> - assertEquals (hits.id(0), 1); >> + assertEquals (1, hits.length()); >> + assertEquals (1, hits.id(0)); >> >> hits = searcher.search (filteredquery, new Sort("sorter")); >> - assertEquals (hits.length(), 1); >> - assertEquals (hits.id(0), 1); >> + assertEquals (1, hits.length()); >> + assertEquals (1, hits.id(0)); >> >> filteredquery = new FilteredQuery (new TermQuery (new Term >> ("field", "one")), filter); >> hits = searcher.search (filteredquery); >> - assertEquals (hits.length(), 2); >> + assertEquals (2, hits.length()); >> >> filteredquery = new FilteredQuery (new TermQuery (new Term >> ("field", "x")), filter); >> hits = searcher.search (filteredquery); >> - assertEquals (hits.length(), 1); >> - assertEquals (hits.id(0), 3); >> + assertEquals (1, hits.length()); >> + assertEquals (3, hits.id(0)); >> >> filteredquery = new FilteredQuery (new TermQuery (new Term >> ("field", "y")), filter); >> hits = searcher.search (filteredquery); >> - assertEquals (hits.length(), 0); >> + assertEquals (0, hits.length()); >> } >> + >> + public void testRangeQuery() throws Exception { >> + RangeQuery rq = new RangeQuery( >> + new Term("sorter", "b"), new Term("sorter", "d"), true); >> + >> + // rq = rq.rewrite(searcher.reader) // makes the test pass >> + >> + Query filteredquery = new FilteredQuery(rq, filter); >> + Hits hits = searcher.search(filteredquery); >> + assertEquals(2, hits.length()); >> + } >> + >> } >> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org >> For additional commands, e-mail: lucene-dev-help@jakarta.apache.org > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org > For additional commands, e-mail: lucene-dev-help@jakarta.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: lucene-dev-help@jakarta.apache.org