In cases where we dont know the possible number of hits -- and wanting
to test the new 2.4 way of doing things,

could I use custom hitcollectors for everything? any performance
penalty for this?

from what I understand both TopDocCollector and TopDocs will try to
allocate an array of Integer.MAX_VALUE if I specify that for the page
size?

Best.

On Tue, Sep 16, 2008 at 5:59 AM, Daniel Noll <[EMAIL PROTECTED]> wrote:
> Otis Gospodnetic wrote:
>>
>> Hi,
>>
>> Check the Hits javadoc:
>>
>>  * @deprecated Hits will be removed in Lucene 3.0. <p>
>>  * Instead e. g. [EMAIL PROTECTED] TopDocCollector} and [EMAIL PROTECTED] 
>> TopDocs} can be
>> used:<br>
>>  * <pre>
>>  *   TopDocCollector collector = new TopDocCollector(hitsPerPage);
>>  *   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);
>>  *     // do something with current hit
>>  *     ...
>>  * </pre>
>
> Related topic: what if we need all the hits and not just the first 100?
>
> TopDocCollector has a couple of drawbacks, one is that you need to know the
> number of hits before the query, and you can't overallocate as it will run
> you out of memory.  I take it this is the suggested workaround for that:
>
>  TopDocCollector collector = new TopDocCollector(PAGE_SIZE);
>  searcher.search(query, collector);
>  TopDocCollector collector2 = new TopDocCollector(
>    collector.getTotalHits());
>  searcher.search(query, collector2);
>
> And then wrap it up such that the initial search's results are immediately
> available and the rest load on demand?  Sounds almost exactly like Hits to
> me though, with the drawback being we have to write it ourselves instead of
> it being part of Lucene.
>
> Or do we make a replacement for TopDocCollector which doesn't have this
> drawback, and uses an alternative for PriorityQueue which allows its array
> to grow?
>
> Daniel
>
>
> --
> Daniel Noll
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to