I'd say, if a common public method for all
Directory implementation
helps you, try it out by modifying the sources locally, and if you are
happy with it, submit the patch.
I've always just used String references to
directories where my indices
were, so I never needed this common method.
Otis
--- Leslie Hughes <[EMAIL PROTECTED]> wrote:
> Hi Otis, Thanks for the reply.
>
> My
DirectoryImpl is configurable in a config file so I dynamically
> instantiate whatever's listed there. Because of the private
> constructor in
> FSDir and the lack of get
Directory on the interface, I'm having to do
> :-
>
> try{
> //Make an FSDir if it's one of those....
> return (
Directory)Class.forName(myDefaultDirectoryImpl)
> .getMethod("get
Directory", new Class[] {String.class,
> boolean.class})
> .invoke(null, new Object[]{myDefaultIndex, new
> Boolean(false)});
> }catch(Exception ioe) { }
>
> Which I think is rather funky :-) but some would say not very
> clean....
> Anyway adding a get
Directory to the
Directory class would be rather
> neat
> then I could use the above for all dirs - this doesn't work with
> RAMDir or
> DBDir at the moment of course - and wrap the whole lot into a
>
DirectoryFactory+config.xml file.
>
> On the other point, I've decided to go with creating the new index
> via the
> writer - no real reason, just couldn't see why not :-)
>
>
> Bye
>
> Les
>
>
>
>
>
> > -----Original Message-----
> > From: Otis Gospodnetic [SMTP:[EMAIL PROTECTED]]
> > Sent: Tuesday, June 10, 2003 3:02 PM
> > To: Lucene Users List
> > Subject: Re: IndexWriter and
Directory create param
> >
> > Hello Les,
> >
> > >
Directory dir = FSDirectory.get
Directory("myindex", true);
> > > IndexWriter writer = new IndexWriter(dir, myAnalyser, true);
> > >
> > > which gives me a nice clean index. But what if the create params
> are
> > > different? If I open a
directory with create=false then create a
> > > writer on it with create = true will this give problems?
> >
> > If I understand you correctly, then the answer is: no, this should
> not
> > cause problems. You could easily try that, no?
> >
> > > Maybe I should do something like
> > >
> > > boolean flag = true/false;
> > >
Directory dir = FSDirectory.get
Directory("myindex", flag);
> > > IndexWriter writer = new IndexWriter(dir, myAnalyser, false);
> >
> > I've seen people use code like that.
> >
> > > Whilst I'm on the subject, there doesn't appear to be a standard
> way
> > > of creating a
Directory, FSDir has a get
Directory whilst RAMDir
> uses
> > a
> > > constructor - shouldn't there be a standard method on the
>
Directory> > > interface (like there is with close)? Or maybe a configurable
> > >
DirectoryFactory?
> >
> > Perhaps.
Directory is an abstract class. One could add an
> abstract
> > open(...) method, maybe. I don't have a need for it...
> >
> > Otis
> >
> >
> > __________________________________
> > Do you Yahoo!?
> > Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
> >
http://calendar.yahoo.com> >
> >
> ---------------------------------------------------------------------
> > 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]
>
__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com---------------------------------------------------------------------