Hi John,

1. When the total size across all in memory segments crosses 100 MB, then
IW will pick the largest segment(s) to move to disk
2. There are in memory segments; when an indexing thread comes in, it will
write to one segment and no other thread can write to that segment while
that thread is indexing the one document.  We used to have some thread
affinity so a given thread would prefer to write to the same in-memory
segment but I think we don't do that anymore.  If an indexing thread
arrives to index a doc, but all in memory segments are already handling
other documents, then we will create a new in-memory segment for that
thread to write to.
3. Should be .del files

Mike McCandless

http://blog.mikemccandless.com


On Mon, Jan 7, 2019 at 7:08 PM John Wilson <[email protected]> wrote:

> Hi,
>
>
>    1. Assume I have two index writer threads using an IndexWriter object
>    (IndexWriter is thread safe) and my ramBufferSizeMB is set to 100M, then
>    are segments created when each thread writes 100M or when the total size
>    written in the buffers is 100M?
>    2. Does each index writer thread writes its own segment or the two
>    writers can write to the same segment (requiring synchronization)?
>    3. When a document is deleted/updated, the document is marked and this
>    info is stored in a separate file so that the next merge deletes the
>    document. What would be a typical name (or extension) of the file in my
>    index directory?
>
> Thanks,
> John
>

Reply via email to