lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ian Lea <ian....@gmail.com>
Subject Re: Migrating from Hit/Hits to TopDocs/TopDocCollector
Date Wed, 10 Jun 2009 09:35:15 GMT
Hi


The code below might do the job.  Based on the example at
http://lucene.apache.org/java/2_4_1/api/core/org/apache/lucene/search/Hits.html

Completely uncompiled and untested of course.

TopDocCollector collector = new TopDocCollector(hitsPerPage);
final Term t = /* ... */;
Query query = new TermQuery( t )
searcher.search(query, collector);
ScoreDoc[] hits = collector.topDocs().scoreDocs;
for (int i = 0; i < hits.length; i++) {
     int docId = hits[i].doc;
     Document d = searcher.doc(docId);
     final File f = new File( d.get( "FILE" ) );
}


--
Ian.


On Wed, Jun 10, 2009 at 2:04 AM, Paul J. Lucas<paul@lucasmail.org> wrote:
> I have existing code that's like:
>
>        final Term t = /* ... */;
>        final Iterator i = searcher.search( new TermQuery( t ) ).iterator();
>        while ( i.hasNext() ) {
>            final Hit hit = (Hit)i.next();
>            // "FILE" is the field that recorded the original file indexed
>            final File f = new File( hit.get( "FILE" ) );
>            // ...
>        }
>
> It's not clear to me how to rewrite the code using TopDocs/TopDocCollector
> and how to iterate over the results.
>
> A little help?  Thanks.  :-)
>
> - Paul
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>

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


Mime
View raw message