From 58476b1675befd88776c72fb7b178c294a39edae Mon Sep 17 00:00:00 2001
From: Mike McCandless
Date: Fri, 2 Dec 2016 15:30:37 -0500
Subject: [PATCH] improve IW javadocs
---
.../org/apache/lucene/index/IndexWriter.java | 31 +++++++++++--------
1 file changed, 18 insertions(+), 13 deletions(-)
diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java b/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
index 68f3b3b6b2d..98687855231 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
@@ -133,19 +133,24 @@ import org.apache.lucene.util.Version;
Expert: IndexWriter
allows an optional
- {@link IndexDeletionPolicy} implementation to be
- specified. You can use this to control when prior commits
- are deleted from the index. The default policy is {@link
- KeepOnlyLastCommitDeletionPolicy} which removes all prior
- commits as soon as a new commit is done (this matches
- behavior before 2.2). Creating your own policy can allow
- you to explicitly keep previous "point in time" commits
- alive in the index for some time, to allow readers to
- refresh to the new commit without having the old commit
- deleted out from under them. This is necessary on
- filesystems like NFS that do not support "delete on last
- close" semantics, which Lucene's "point in time" search
- normally relies on.
+ {@link IndexDeletionPolicy} implementation to be specified. You
+ can use this to control when prior commits are deleted from
+ the index. The default policy is {@link KeepOnlyLastCommitDeletionPolicy}
+ which removes all prior commits as soon as a new commit is
+ done. Creating your own policy can allow you to explicitly
+ keep previous "point in time" commits alive in the index for
+ some time, either because this is useful for your application,
+ or to give readers enough time to refresh to the new commit
+ without having the old commit deleted out from under them.
+ The latter is necessary when multiple computers take turns opening
+ their own {@code IndexWriter} and {@code IndexReader}s
+ against a single shared index mounted via remote filesystems
+ like NFS which do not support "delete on last close" semantics.
+ A single computer accessing an index via NFS is fine with the
+ default deletion policy since NFS clients emulate "delete on
+ last close" locally. That said, accessing an index via NFS
+ will likely result in poor performance compared to a local IO
+ device.
Expert:
IndexWriter
allows you to separately change