On Tue, Jun 30, 2009 at 3:21 PM, Ian Lea<ian....@gmail.com> wrote: > Have you read the javadocs? What does collector.getTotalHits() return? > Does it return the same when you use new TopDocCollector(1000) and > some other number? Are you asking basically the same questions in 2 > different threads at the same time? > > You are still iterating over many hits and that will still take longer > than if you iterate over fewer hits. > > > -- > Ian. > > > > > On Tue, Jun 30, 2009 at 1:38 PM, m.harig<m.ha...@gmail.com> wrote: >> >> Thanks eric >> >> in Ian's link, particularly see the section "Don't iterate over morehits >> than necessary". >> >> A couple of other things: >> 1> Loading the entire document just to get a field or two isn't >> very efficient, think about lazy loading (See FieldSelector) >> i done it , but have couple of questions >> >> 2> What do you mean when you say "not very good"? Using too >> much memory? Slow? >> yes , of course , it went for java heap space . >> >> >> here is my code >> >> IndexReader open = IndexReader.open(indexDir); >> IndexSearcher searcher = new IndexSearcher(open); >> final String fName = "title"; >> QueryParser parser = new QueryParser("contents", new >> StopAnalyzer()); >> Query query = parser.parse(qryStr); >> >> TopDocCollector collector = new TopDocCollector(1000);// >> searcher.search(query, collector); >> >> FieldSelector selector = new FieldSelector() { >> public FieldSelectorResult accept(String fieldName) { >> return fieldName == fName ? >> FieldSelectorResult.LOAD >> : >> FieldSelectorResult.LAZY_LOAD; >> } >> >> >> }; >> >> final int totalHits = collector.getTotalHits(); >> ScoreDoc[] scoreDocs = collector.topDocs().scoreDocs; >> >> >> for (int i = 0; i < totalHits; i++) { >> Document doc = searcher.doc(scoreDocs[i].doc, >> selector); >> >> System.out.println(i+" ) "+doc.get("title")); >> System.out.println(doc.get("path")); >> >> } funny that you past the code I did send you as an example and ask in a separate thread for tuning :D
simon >> >> can you please tune my code to work it faster and better, is it possible to >> display total hits like google , since am using new TopDocCollector(1000); >> it won't allow you to pick total hits ?? am i right??? >> >> -- >> View this message in context: >> http://www.nabble.com/optimized-searching-tp24266553p24271145.html >> Sent from the Lucene - Java Users mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >> For additional commands, e-mail: java-user-h...@lucene.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org