You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Michael McCandless (JIRA)" <ji...@apache.org> on 2006/12/18 23:07:23 UTC

[jira] Commented: (LUCENE-301) Index Writer constructor flags unclear - and annoying in certain cases

    [ 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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org