[ 
https://issues.apache.org/jira/browse/LUCENE-1705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722612#action_12722612
 ] 

Michael McCandless commented on LUCENE-1705:
--------------------------------------------

bq. provided it doesn't cause performance of the operation to degrade to a 
delete by query with a *:*

The delete actually would not be with a *:* query; instead, we simple remove 
all referenced segments from the segments_N file.  So, it would be 
exceptionally fast.

Do you wanna cons up a patch?  It should be a refactoring of what's now done 
inside IndexWriter's init method...

> Add deleteAllDocuments() method to IndexWriter
> ----------------------------------------------
>
>                 Key: LUCENE-1705
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1705
>             Project: Lucene - Java
>          Issue Type: Wish
>          Components: Index
>    Affects Versions: 2.4
>            Reporter: Tim Smith
>
> Ideally, there would be a deleteAllDocuments() or clear() method on the 
> IndexWriter
> This method should have the same performance and characteristics as:
> * currentWriter.close()
> * currentWriter = new IndexWriter(..., create=true,...)
> This would greatly optimize a delete all documents case. Using 
> deleteDocuments(new MatchAllDocsQuery()) could be expensive given a large 
> existing index.
> IndexWriter.deleteAllDocuments() should have the same semantics as a 
> commit(), as far as index visibility goes (new IndexReader opening would get 
> the empty index)
> I see this was previously asked for in LUCENE-932, however it would be nice 
> to finally see this added such that the IndexWriter would not need to be 
> closed to perform the "clear" as this seems to be the general recommendation 
> for working with an IndexWriter now
> deleteAllDocuments() method should:
> * abort any background merges (they are pointless once a deleteAll has been 
> received)
> * write new segments file referencing no segments
> This method would remove one of the final reasons i would ever need to close 
> an IndexWriter and reopen a new one 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to