Hey Andy, i don't know how you determinate whether a document has to be displayed or not but I use a filter to do such kind of jobs. We have a index for a specific website with personalized areas which should be searchable for users having corresponding usergroups. That works quiet well and you can use the filter cache e.g. cache the filter itself for your queries.
regards Simon On 8/7/06, hu andy <[EMAIL PROTECTED]> wrote:
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 <[EMAIL PROTECTED]>: > > 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: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]