lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <j...@apache.org>
Subject [jira] [Assigned] (LUCENE-3442) QueryWrapperFilter gets null DocIdSetIterator when wrapping TermQuery
Date Tue, 20 Sep 2011 18:51:10 GMT

     [ https://issues.apache.org/jira/browse/LUCENE-3442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Uwe Schindler reassigned LUCENE-3442:
-------------------------------------

    Assignee: Uwe Schindler

> QueryWrapperFilter gets null DocIdSetIterator when wrapping TermQuery
> ---------------------------------------------------------------------
>
>                 Key: LUCENE-3442
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3442
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: core/search
>    Affects Versions: 3.4
>         Environment: java 1.6.0_27
>            Reporter: Dan
>            Assignee: Uwe Schindler
>            Priority: Minor
>
> If you try to get the iterator for the DocIdSet returned by a QueryWrapperFilter which
wraps a TermQuery you get null instead of an iterator that returns the same documents as the
search on the TermQuery.
> Code demonstrating the issue:
> import java.io.IOException;
> import org.apache.lucene.analysis.WhitespaceAnalyzer;
> import org.apache.lucene.document.Document;
> import org.apache.lucene.document.Field;
> import org.apache.lucene.document.Field.Index;
> import org.apache.lucene.document.Field.Store;
> import org.apache.lucene.index.IndexReader;
> import org.apache.lucene.index.IndexWriter;
> import org.apache.lucene.index.IndexWriterConfig;
> import org.apache.lucene.index.Term;
> import org.apache.lucene.store.RAMDirectory;
> import org.apache.lucene.util.Version;
> import org.apache.lucene.search.DocIdSet;
> import org.apache.lucene.search.DocIdSetIterator;
> import org.apache.lucene.search.Filter;
> import org.apache.lucene.search.IndexSearcher;
> import org.apache.lucene.search.QueryWrapperFilter;
> import org.apache.lucene.search.TermQuery;
> import org.apache.lucene.search.TopDocs;
> public class TestQueryWrapperFilterIterator {
>    public static void main(String[] args) {
> 		try {
> 			IndexWriterConfig iwconfig = new IndexWriterConfig(Version.LUCENE_34, new WhitespaceAnalyzer(Version.LUCENE_34));
> 			iwconfig.setOpenMode(IndexWriterConfig.OpenMode.CREATE);
> 			RAMDirectory dir = new RAMDirectory();
> 		
> 			IndexWriter writer = new IndexWriter(dir, iwconfig);
> 			Document d = new Document();
> 			d.add(new Field("id", "1001", Store.YES, Index.NOT_ANALYZED));
> 			d.add(new Field("text", "headline one group one", Store.YES, Index.ANALYZED));
> 			d.add(new Field("group", "grp1", Store.YES, Index.NOT_ANALYZED));
> 		    writer.addDocument(d);
> 			writer.commit();
> 			writer.close();
> 			
> 			IndexReader rdr = IndexReader.open(dir);
> 			IndexSearcher searcher = new IndexSearcher(rdr);
> 			
> 			TermQuery tq = new TermQuery(new Term("text", "headline"));
> 			
> 			TopDocs results = searcher.search(tq, 5);
> 			System.out.println("Number of search results: " + results.totalHits);
> 			
> 			Filter f = new QueryWrapperFilter(tq);
> 			
> 			DocIdSet dis = f.getDocIdSet(rdr);
> 			
> 			DocIdSetIterator it = dis.iterator();
> 			if (it != null) {
> 				int docId = it.nextDoc();
> 				while (docId != DocIdSetIterator.NO_MORE_DOCS) {
> 					Document doc = rdr.document(docId);
> 					System.out.println("Iterator doc: " + doc.get("id"));
> 					docId = it.nextDoc();
> 				}
> 			} else {
> 				System.out.println("Iterator was null: ");
> 			}
> 			
> 			searcher.close();
> 			rdr.close();
> 		} catch (IOException ioe) {
> 			ioe.printStackTrace();
> 		}
> 	}
> }

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


Mime
View raw message