I would strongly suggest not storing these fields in lucene, just keep them as files and store some kind of url to get them latter. that will boost your speed heavily. If you really, really need to store documents in lucene, try some compression Also, so many fields hurt performance, any chance you could pack some of them together?
Did you have a chance to read Lucene in Action, could help you greatly. good luck ----- Original Message ---- From: Sunil Kumar PK <[EMAIL PROTECTED]> To: java-user@lucene.apache.org Sent: Saturday, 4 November, 2006 4:12:57 PM Subject: Re: How to improve document retrieval speed. Hi, I am using Lucene's Remote Parallel Multisearcher with 10 nodes in my search cluster having 200+ distributed index fragments (1 Index fragment = 4GB). I have 30+ fields in my index, and I am storing a master XML file (contains 5 to 30 pages of information) in one field. I also have two web servers behind a load-balancer. My system works as follows. I) When the user search for a document, the search result page will display 3 stored fields from the index (Document Number,Title and Date). II) On clicking a particular result I am searching again(Since I am using a load-balancer I can't use the same RemoteSearchable object) for that particular 'document number' and retrieve the stored master XML from the index. The first step is ok with me, but I want to improve the speed in the second part. Is it necessary to do the scoring and weight calculation in the second step? Thanks, Sunil On 11/4/06, Grant Ingersoll <[EMAIL PROTECTED]> wrote: > > You probably can skip the QueryParser part and just construct a > TermQuery with your term and field. That will save you a few ticks. > I'm betting you have just included the code below for example, so > this may not apply, however, you want to make sure you aren't > creating the IndexSearcher every time you want to run the query. See > the list archives for info on warming/caching the searcher. > > What kind of runtimes are you experiencing? > > On Nov 4, 2006, at 6:46 AM, Sunil Kumar PK wrote: > > > Hi, > > > > In my index there is a unique field, "MY_DOCNO". > > > > If I want get a document from the index with MY_DOCNO=1000, I am > > using > > following code, > > > > IndexSearcher isearcher = new IndexSearcher("myindex1"); > > QueryParser qp = new QueryParser("MY_DOCNO", new StandardAnalyzer()); > > > > Query query = qp.parse("MY_DOCNO:1000"); > > Hits hits = isearcher.search(query); > > > > Since I have a unique field in my index, is there any other method, > > that can > > retrieve the document faster than this? > > > > Thanks, > > Sunil > > -------------------------- > Grant Ingersoll > Sr. Software Engineer > Center for Natural Language Processing > Syracuse University > 335 Hinds Hall > Syracuse, NY 13244 > http://www.cnlp.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > ___________________________________________________________ All New Yahoo! Mail – Tired of [EMAIL PROTECTED]@! come-ons? Let our SpamGuard protect you. http://uk.docs.yahoo.com/nowyoucan.html --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]