lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Doug Cutting (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-301) Index Writer constructor flags unclear - and annoying in certain cases
Date Tue, 21 Feb 2006 17:11:00 GMT
    [ http://issues.apache.org/jira/browse/LUCENE-301?page=comments#action_12367227 ] 

Doug Cutting commented on LUCENE-301:
-------------------------------------

I agree with Hoss that we need to be very careful about compatibility.

Why not add a new constructor, IndexWriter(Directory, Analyzer) which, if no such index exists,
creates one?  Or we could deprecate the existing constructors and add new ones whose third
parameter is a type-safe enumeration of IfExists:OVERWRITE, IfExists:APPEND or somesuch.


> 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
>         Type: Improvement
>   Components: Index
>     Versions: 1.4
>  Environment: Operating System: other
> Platform: Other
>     Reporter: Dan Armbrust
>     Assignee: 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


Mime
View raw message