Package | Description |
---|---|
org.apache.lucene.index |
Code to maintain and access indices.
|
org.apache.lucene.search |
Code to search indices.
|
Modifier and Type | Field and Description |
---|---|
private IndexWriter |
DocumentsWriterPerThread.indexWriter |
(package private) IndexWriter |
ConcurrentMergeScheduler.MergeThread.writer |
private IndexWriter |
DocumentsWriter.writer |
private IndexWriter |
IndexFileDeleter.writer |
private IndexWriter |
ReadersAndUpdates.writer |
(package private) IndexWriter |
StandardDirectoryReader.writer |
private IndexWriter |
TieredMergePolicy.SegmentByteSizeDescending.writer |
private IndexWriter |
TrackingIndexWriter.writer |
Modifier and Type | Field and Description |
---|---|
private SetOnce<IndexWriter> |
IndexWriterConfig.writer |
Modifier and Type | Method and Description |
---|---|
IndexWriter |
TrackingIndexWriter.getIndexWriter()
Return the wrapped
IndexWriter . |
Modifier and Type | Method and Description |
---|---|
(package private) void |
DocumentsWriter.abort(IndexWriter writer)
Called if we hit an exception at a bad time (when
updating the index files) and must discard all
currently buffered docs.
|
protected void |
ConcurrentMergeScheduler.doMerge(IndexWriter writer,
MergePolicy.OneMerge merge)
Does the actual merge, by calling
merge(org.apache.lucene.index.MergePolicy.OneMerge) |
protected abstract DirectoryReader |
DirectoryReader.doOpenIfChanged(IndexWriter writer,
boolean applyAllDeletes)
Implement this method to support
DirectoryReader.openIfChanged(DirectoryReader,IndexWriter,boolean) . |
protected DirectoryReader |
FilterDirectoryReader.doOpenIfChanged(IndexWriter writer,
boolean applyAllDeletes) |
protected DirectoryReader |
StandardDirectoryReader.doOpenIfChanged(IndexWriter writer,
boolean applyAllDeletes) |
MergePolicy.MergeSpecification |
LogMergePolicy.findForcedDeletesMerges(SegmentInfos segmentInfos,
IndexWriter writer)
Finds merges necessary to force-merge all deletes from the
index.
|
abstract MergePolicy.MergeSpecification |
MergePolicy.findForcedDeletesMerges(SegmentInfos segmentInfos,
IndexWriter writer)
Determine what set of merge operations is necessary in order to expunge all
deletes from the index.
|
MergePolicy.MergeSpecification |
MergePolicyWrapper.findForcedDeletesMerges(SegmentInfos segmentInfos,
IndexWriter writer) |
MergePolicy.MergeSpecification |
NoMergePolicy.findForcedDeletesMerges(SegmentInfos segmentInfos,
IndexWriter writer) |
MergePolicy.MergeSpecification |
TieredMergePolicy.findForcedDeletesMerges(SegmentInfos infos,
IndexWriter writer) |
MergePolicy.MergeSpecification |
SortingMergePolicy.findForcedDeletesMerges(SegmentInfos segmentInfos,
IndexWriter writer) |
MergePolicy.MergeSpecification |
LogMergePolicy.findForcedMerges(SegmentInfos infos,
int maxNumSegments,
java.util.Map<SegmentCommitInfo,java.lang.Boolean> segmentsToMerge,
IndexWriter writer)
Returns the merges necessary to merge the index down
to a specified number of segments.
|
abstract MergePolicy.MergeSpecification |
MergePolicy.findForcedMerges(SegmentInfos segmentInfos,
int maxSegmentCount,
java.util.Map<SegmentCommitInfo,java.lang.Boolean> segmentsToMerge,
IndexWriter writer)
Determine what set of merge operations is necessary in
order to merge to
<= the specified segment count. |
MergePolicy.MergeSpecification |
MergePolicyWrapper.findForcedMerges(SegmentInfos segmentInfos,
int maxSegmentCount,
java.util.Map<SegmentCommitInfo,java.lang.Boolean> segmentsToMerge,
IndexWriter writer) |
MergePolicy.MergeSpecification |
NoMergePolicy.findForcedMerges(SegmentInfos segmentInfos,
int maxSegmentCount,
java.util.Map<SegmentCommitInfo,java.lang.Boolean> segmentsToMerge,
IndexWriter writer) |
MergePolicy.MergeSpecification |
TieredMergePolicy.findForcedMerges(SegmentInfos infos,
int maxSegmentCount,
java.util.Map<SegmentCommitInfo,java.lang.Boolean> segmentsToMerge,
IndexWriter writer) |
MergePolicy.MergeSpecification |
UpgradeIndexMergePolicy.findForcedMerges(SegmentInfos segmentInfos,
int maxSegmentCount,
java.util.Map<SegmentCommitInfo,java.lang.Boolean> segmentsToMerge,
IndexWriter writer) |
MergePolicy.MergeSpecification |
SortingMergePolicy.findForcedMerges(SegmentInfos segmentInfos,
int maxSegmentCount,
java.util.Map<SegmentCommitInfo,java.lang.Boolean> segmentsToMerge,
IndexWriter writer) |
private MergePolicy.MergeSpecification |
LogMergePolicy.findForcedMergesMaxNumSegments(SegmentInfos infos,
int maxNumSegments,
int last,
IndexWriter writer)
Returns the merges necessary to forceMerge the index.
|
private MergePolicy.MergeSpecification |
LogMergePolicy.findForcedMergesSizeLimit(SegmentInfos infos,
int maxNumSegments,
int last,
IndexWriter writer)
Returns the merges necessary to merge the index, taking the max merge
size or max merge docs into consideration.
|
MergePolicy.MergeSpecification |
LogMergePolicy.findMerges(MergeTrigger mergeTrigger,
SegmentInfos infos,
IndexWriter writer)
Checks if any merges are now necessary and returns a
MergePolicy.MergeSpecification if so. |
abstract MergePolicy.MergeSpecification |
MergePolicy.findMerges(MergeTrigger mergeTrigger,
SegmentInfos segmentInfos,
IndexWriter writer)
Determine what set of merge operations are now necessary on the index.
|
MergePolicy.MergeSpecification |
MergePolicyWrapper.findMerges(MergeTrigger mergeTrigger,
SegmentInfos segmentInfos,
IndexWriter writer) |
MergePolicy.MergeSpecification |
NoMergePolicy.findMerges(MergeTrigger mergeTrigger,
SegmentInfos segmentInfos,
IndexWriter writer) |
MergePolicy.MergeSpecification |
TieredMergePolicy.findMerges(MergeTrigger mergeTrigger,
SegmentInfos infos,
IndexWriter writer) |
MergePolicy.MergeSpecification |
UpgradeIndexMergePolicy.findMerges(MergeTrigger mergeTrigger,
SegmentInfos segmentInfos,
IndexWriter writer) |
MergePolicy.MergeSpecification |
SortingMergePolicy.findMerges(MergeTrigger mergeTrigger,
SegmentInfos segmentInfos,
IndexWriter writer) |
protected void |
DocumentsWriterFlushQueue.FlushTicket.finishFlush(IndexWriter indexWriter,
DocumentsWriterPerThread.FlushedSegment newSegment,
FrozenBufferedUpdates bufferedUpdates) |
(package private) void |
DocumentsWriter.finishFullFlush(IndexWriter indexWriter,
boolean success) |
(package private) int |
DocumentsWriterFlushQueue.forcePurge(IndexWriter writer) |
protected ConcurrentMergeScheduler.MergeThread |
ConcurrentMergeScheduler.getMergeThread(IndexWriter writer,
MergePolicy.OneMerge merge)
Create and return a new MergeThread
|
private void |
ConcurrentMergeScheduler.initDynamicDefaults(IndexWriter writer) |
private int |
DocumentsWriterFlushQueue.innerPurge(IndexWriter writer) |
protected boolean |
LogMergePolicy.isMerged(SegmentInfos infos,
int maxNumSegments,
java.util.Map<SegmentCommitInfo,java.lang.Boolean> segmentsToMerge,
IndexWriter writer)
Returns true if the number of segments eligible for
merging is less than or equal to the specified
maxNumSegments . |
protected boolean |
MergePolicy.isMerged(SegmentInfos infos,
SegmentCommitInfo info,
IndexWriter writer)
Returns true if this single info is already fully merged (has no
pending deletes, is in the same dir as the
writer, and matches the current compound file setting
|
(package private) long |
DocumentsWriter.lockAndAbortAll(IndexWriter indexWriter)
Returns how many documents were aborted.
|
protected boolean |
ConcurrentMergeScheduler.maybeStall(IndexWriter writer)
This is invoked by
ConcurrentMergeScheduler.merge(org.apache.lucene.index.IndexWriter, org.apache.lucene.index.MergeTrigger, boolean) to possibly stall the incoming
thread when there are too many merges running or pending. |
void |
ConcurrentMergeScheduler.merge(IndexWriter writer,
MergeTrigger trigger,
boolean newMergesFound) |
abstract void |
MergeScheduler.merge(IndexWriter writer,
MergeTrigger trigger,
boolean newMergesFound)
Run the merges provided by
getNextMerge() . |
void |
NoMergeScheduler.merge(IndexWriter writer,
MergeTrigger trigger,
boolean newMergesFound) |
void |
SerialMergeScheduler.merge(IndexWriter writer,
MergeTrigger trigger,
boolean newMergesFound)
Just do the merges in sequence.
|
protected void |
LogMergePolicy.message(java.lang.String message,
IndexWriter writer)
Print a debug message to
IndexWriter 's infoStream . |
private void |
TieredMergePolicy.message(java.lang.String message,
IndexWriter writer) |
private void |
UpgradeIndexMergePolicy.message(java.lang.String message,
IndexWriter writer) |
static DirectoryReader |
DirectoryReader.open(IndexWriter writer)
Open a near real time IndexReader from the
IndexWriter . |
static DirectoryReader |
DirectoryReader.open(IndexWriter writer,
boolean applyAllDeletes,
boolean writeAllDeletes)
Expert: open a near real time IndexReader from the
IndexWriter ,
controlling whether past deletions should be applied. |
(package private) static DirectoryReader |
StandardDirectoryReader.open(IndexWriter writer,
SegmentInfos infos,
boolean applyAllDeletes,
boolean writeAllDeletes)
Used by near real-time search
|
static DirectoryReader |
DirectoryReader.openIfChanged(DirectoryReader oldReader,
IndexWriter writer)
Expert: If there changes (committed or not) in the
IndexWriter versus what the provided reader is
searching, then open and return a new
IndexReader searching both committed and uncommitted
changes from the writer; else, return null (though, the
current implementation never returns null). |
static DirectoryReader |
DirectoryReader.openIfChanged(DirectoryReader oldReader,
IndexWriter writer,
boolean applyAllDeletes)
Expert: Opens a new reader, if there are any changes, controlling whether past deletions should be applied.
|
void |
DocumentsWriter.ApplyDeletesEvent.process(IndexWriter writer,
boolean triggerMerge,
boolean forcePurge) |
void |
DocumentsWriter.MergePendingEvent.process(IndexWriter writer,
boolean triggerMerge,
boolean forcePurge) |
void |
DocumentsWriter.ForcedPurgeEvent.process(IndexWriter writer,
boolean triggerMerge,
boolean forcePurge) |
void |
DocumentsWriter.FlushFailedEvent.process(IndexWriter writer,
boolean triggerMerge,
boolean forcePurge) |
void |
DocumentsWriter.DeleteNewFilesEvent.process(IndexWriter writer,
boolean triggerMerge,
boolean forcePurge) |
void |
IndexWriter.Event.process(IndexWriter writer,
boolean triggerMerge,
boolean clearBuffers)
Processes the event.
|
protected abstract void |
DocumentsWriterFlushQueue.FlushTicket.publish(IndexWriter writer) |
protected void |
DocumentsWriterFlushQueue.GlobalDeletesTicket.publish(IndexWriter writer) |
protected void |
DocumentsWriterFlushQueue.SegmentFlushTicket.publish(IndexWriter writer) |
protected void |
DocumentsWriterFlushQueue.FlushTicket.publishFlushedSegment(IndexWriter indexWriter,
DocumentsWriterPerThread.FlushedSegment newSegment,
FrozenBufferedUpdates globalPacket)
Publishes the flushed segment, segment private deletes (if any) and its
associated global delete (if present) to IndexWriter.
|
(package private) int |
DocumentsWriter.purgeBuffer(IndexWriter writer,
boolean forced) |
protected TieredMergePolicy.MergeScore |
TieredMergePolicy.score(java.util.List<SegmentCommitInfo> candidate,
boolean hitTooLarge,
long mergingBytes,
IndexWriter writer)
Expert: scores one merge; subclasses can override.
|
(package private) IndexWriterConfig |
IndexWriterConfig.setIndexWriter(IndexWriter writer)
Sets the
IndexWriter this config is attached to. |
protected long |
LogByteSizeMergePolicy.size(SegmentCommitInfo info,
IndexWriter writer) |
protected long |
LogDocMergePolicy.size(SegmentCommitInfo info,
IndexWriter writer) |
protected long |
MergePolicy.size(SegmentCommitInfo info,
IndexWriter writer)
Return the byte size of the provided
SegmentCommitInfo , pro-rated by percentage of
non-deleted documents is set. |
protected long |
MergePolicyWrapper.size(SegmentCommitInfo info,
IndexWriter writer) |
protected long |
NoMergePolicy.size(SegmentCommitInfo info,
IndexWriter writer) |
protected long |
LogMergePolicy.sizeBytes(SegmentCommitInfo info,
IndexWriter writer)
Return the byte size of the provided
SegmentCommitInfo , pro-rated by percentage of
non-deleted documents if LogMergePolicy.setCalibrateSizeByDeletes(boolean) is set. |
protected long |
LogMergePolicy.sizeDocs(SegmentCommitInfo info,
IndexWriter writer)
Return the number of documents in the provided
SegmentCommitInfo , pro-rated by percentage of
non-deleted documents if LogMergePolicy.setCalibrateSizeByDeletes(boolean) is set. |
(package private) int |
DocumentsWriterFlushQueue.tryPurge(IndexWriter writer) |
(package private) void |
DocumentsWriter.unlockAllAfterAbortAll(IndexWriter indexWriter) |
boolean |
MergePolicy.useCompoundFile(SegmentInfos infos,
SegmentCommitInfo mergedInfo,
IndexWriter writer)
Returns true if a new segment (regardless of its origin) should use the
compound file format.
|
boolean |
MergePolicyWrapper.useCompoundFile(SegmentInfos infos,
SegmentCommitInfo mergedInfo,
IndexWriter writer) |
boolean |
NoMergePolicy.useCompoundFile(SegmentInfos segments,
SegmentCommitInfo newSegment,
IndexWriter writer) |
protected boolean |
LogMergePolicy.verbose(IndexWriter writer)
|
private boolean |
TieredMergePolicy.verbose(IndexWriter writer) |
private boolean |
UpgradeIndexMergePolicy.verbose(IndexWriter writer) |
Constructor and Description |
---|
DocumentsWriter(IndexWriter writer,
LiveIndexWriterConfig config,
Directory directoryOrig,
Directory directory) |
DocumentsWriterPerThread(IndexWriter writer,
java.lang.String segmentName,
Directory directoryOrig,
Directory directory,
LiveIndexWriterConfig indexWriterConfig,
InfoStream infoStream,
DocumentsWriterDeleteQueue deleteQueue,
FieldInfos.Builder fieldInfos,
java.util.concurrent.atomic.AtomicLong pendingNumDocs,
boolean enableTestPoints) |
IndexFileDeleter(java.lang.String[] files,
Directory directoryOrig,
Directory directory,
IndexDeletionPolicy policy,
SegmentInfos segmentInfos,
InfoStream infoStream,
IndexWriter writer,
boolean initialIndexExists,
boolean isReaderInit)
Initialize the deleter: find all previous commits in
the Directory, incref the files they reference, call
the policy to let it delete commits.
|
MergeThread(IndexWriter writer,
MergePolicy.OneMerge merge)
Sole constructor.
|
ReaderManager(IndexWriter writer)
Creates and returns a new ReaderManager from the given
IndexWriter . |
ReaderManager(IndexWriter writer,
boolean applyAllDeletes,
boolean writeAllDeletes)
Expert: creates and returns a new ReaderManager from the given
IndexWriter , controlling whether past deletions should be applied. |
ReadersAndUpdates(IndexWriter writer,
SegmentCommitInfo info) |
ReadersAndUpdates(IndexWriter writer,
SegmentReader reader)
Init from a previously opened SegmentReader.
|
SegmentByteSizeDescending(IndexWriter writer) |
StandardDirectoryReader(Directory directory,
LeafReader[] readers,
IndexWriter writer,
SegmentInfos sis,
boolean applyAllDeletes,
boolean writeAllDeletes)
called only from static open() methods
|
TrackingIndexWriter(IndexWriter writer)
Create a
TrackingIndexWriter wrapping the
provided IndexWriter . |
Constructor and Description |
---|
SearcherManager(IndexWriter writer,
boolean applyAllDeletes,
boolean writeAllDeletes,
SearcherFactory searcherFactory)
Expert: creates and returns a new SearcherManager from the given
IndexWriter , controlling whether past deletions should be applied. |
SearcherManager(IndexWriter writer,
SearcherFactory searcherFactory)
Creates and returns a new SearcherManager from the given
IndexWriter . |