lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leslie Hughes <Leslie.Hug...@watercorporation.com.au>
Subject RE: IndexWriter and Directory create param
Date Tue, 10 Jun 2003 07:17:47 GMT
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 getDirectory on the interface, I'm having to do :-

     try{
      //Make an FSDir if it's one of those....
      return (Directory)Class.forName(myDefaultDirectoryImpl)
          .getMethod("getDirectory", 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 getDirectory 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:otis_gospodnetic@yahoo.com]
> Sent:	Tuesday, June 10, 2003 3:02 PM
> To:	Lucene Users List
> Subject:	Re: IndexWriter and Directory create param
> 
> Hello Les,
> 
> > Directory dir = FSDirectory.getDirectory("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.getDirectory("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 getDirectory 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: lucene-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: lucene-user-help@jakarta.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-user-help@jakarta.apache.org


Mime
View raw message