[ http://issues.apache.org/jira/browse/LUCENE-301?page=comments#action_12459479 ] Michael McCandless commented on LUCENE-301: -------------------------------------------
I like Doug's solution "add a new constructor, IndexWriter(Directory, Analyzer) which, if no such index exists, creates one" -- I think this makses sense. I will commit this. > Index Writer constructor flags unclear - and annoying in certain cases > ---------------------------------------------------------------------- > > Key: LUCENE-301 > URL: http://issues.apache.org/jira/browse/LUCENE-301 > Project: Lucene - Java > Issue Type: Improvement > Components: Index > Affects Versions: 1.4 > Environment: Operating System: other > Platform: Other > Reporter: Dan Armbrust > Assigned To: Lucene Developers > Priority: Minor > > Wouldn't it make more sense if the constructor for the IndexWriter always > created an index if it doesn't exist - and the boolean parameter should be > "clear" (instead of "create") > So instead of this (from javadoc): > IndexWriter > public IndexWriter(Directory d, > Analyzer a, > boolean create) > throws IOException > Constructs an IndexWriter for the index in d. Text will be analyzed with > a. > If create is true, then a new, empty index will be created in d, replacing the > index already there, if any. > Parameters: > d - the index directory > a - the analyzer to use > create - true to create the index or overwrite the existing one; false to > append to the existing index > Throws: > IOException - if the directory cannot be read/written to, or if it does > not > exist, and create is false > We would have this: > IndexWriter > public IndexWriter(Directory d, > Analyzer a, > boolean clear) > throws IOException > Constructs an IndexWriter for the index in d. Text will be analyzed with > a. > If clear is true, and a index exists at location d, then it will be erased, > and > a new, empty index will be created in d. > Parameters: > d - the index directory > a - the analyzer to use > clear - true to overwrite the existing one; false to append to the > existing > index > Throws: > IOException - if the directory cannot be read/written to, or if it does > not > exist. > Its current behavior is kind of annoying, because I have an app that should > never clear an existing index, it should always append. So I want create set > to > false. But when I am starting a brand new index, then I have to change the > create flag to keep it from throwing an exception... I guess for now I will > have to write code to check if a index actually has content yet, and if it > doesn't, change the flag on the fly. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]