Hi Ravi,
This is almost exactly what I've done.  I create a new NutchBean for
each search, and point it at whichever of 9 subdirectories the user has
selected; because I really don't want 511 (2^9-1) beans hanging around.
 
The reason for the "too many open files" is that the NutchBean doesn't
clean up after itself - I guess because for most people, the NutchBean
is going to be reused.
 
I added a close() method to FetchSegments.Segment in my installation,
to close all the readers.  I added a closeSegments() method to
NutchBean, to call close() on each segment that's been opened.  Then I
call closeSegments() after each search.
 
I realise that NutchBean really wasn't designed to support being
instantiated once per search, but I don't care.  It works well, and
performance is not an issue.
 
Regards,
David.
 
 
Date: Mon, 6 Feb 2006 20:59:34 -0500
From: Ravi Chintakunta <[EMAIL PROTECTED]>
To: nutch-user@lucene.apache.org
Subject: [Nutch-general] Dynamic merging of indices
Reply-To: [EMAIL PROTECTED]

I have multiple indices for the crawls across various intranet sites
stored in separate folders. My search application should support
searching across one or more of these indices dynamically - by way of
checkboxes on the web page.  For this, I have modified NutchBean to
create the IndexSearcher and FetchedSegments from the segments
directory (not the merged index directory) in these folders.  Based on
the selected intranet sites, a NutchBean is instantiated for the
indices  of the selected sites and the results are displayed.

With this I had the "Too many open files error" and have increased the
number of files limit.

This seems to work well now. But if I have 5 such sites, then I am
opening 2^5 =3D 32 times more files than I would have opened.

My question is: Is there a better way of doing this? Like:

- Can I open an IndexReader on each of the merged index directory and
dynamically create an IndexSearcher by merging these readers using
MultiReader?

- Is an IndexReader thread safe and can it be used simultaneously in
different IndexSearchers?

- Can I create the IndexReader on the merged index directory and
create the corresponding FetchedSegments on the corresponding
non-merged segments directory?

Thanks
Ravi Chintakunta




********************************************************************************
This email may contain legally privileged information and is intended only for 
the addressee. It is not necessarily the official view or 
communication of the New Zealand Qualifications Authority. If you are not the 
intended recipient you must not use, disclose, copy or distribute this email or 
information in it. If you have received this email in error, please contact the 
sender immediately. NZQA does not accept any liability for changes made to this 
email or attachments after sending by NZQA. 

All emails have been scanned for viruses and content by MailMarshal. 
NZQA reserves the right to monitor all email communications through its network.

********************************************************************************

Reply via email to