lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "hu andy" <andyh...@gmail.com>
Subject Re: About the use of HitCollector
Date Mon, 07 Aug 2006 13:48:41 GMT
Martin, Thank you for your reply.

But the Lucene API said:
This is called in an inner search loop. For good search performance,
implementations of this method should not call
Searcher.doc(int)<file:///E:/java/IR%20Library/lucene-1.9.1/lucene-1.9.1/docs/api/org/apache/lucene/search/Searcher.html#doc(int)>or
IndexReader.document(int)<file:///E:/java/IR%20Library/lucene-1.9.1/lucene-1.9.1/docs/api/org/apache/lucene/index/IndexReader.html#document(int)>on
every document number encountered

Because I have to check a field in the document to determine whether I
should return the document. The total number of documents is about two
hundred thousand. So I'm afraid the
performance


2006/8/7, Martin Braun <mbraun@uni-hd.de>:
>
> hi andy,
> > How can I  use HitCollector to iterate over every returned document?
>
> You have to override the function collect for the HitCollector class and
> then store the retrieved Data in an array or map.
>
> Here is just a source-code scratch (is = IndexSearcher)
>
>                is.search(query, null, new HitCollector(){
>                                public void collect(int docID, float score)
>                                    {
>                                        Document doc = is.doc(docID);
>                                        titles[docID] = doc.get("title");
>                                    }
>                        });
>
>
> hth,
> martin
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message