Here's my understanding, which might lack some correctness. Every (since https://issues.apache.org/jira/browse/LUCENE-6659) thread allocates RAM buffer with inverted docs, which correspond next flushing segment, however it's not yet searchable i.e. I wouldn't say it's "in-memory" segment, but one appears after NRT flush http://blog.mikemccandless.com/2011/06/lucenes-near-real-time-search-is-fast.html. Some more a little bit outdated info is here https://blog.trifork.com/2011/04/01/gimme-all-resources-you-have-i-can-use-them/ .
On Fri, Jan 18, 2019 at 1:56 PM Alex Vladmir <[email protected]> wrote: > Hi, > > Suppose I have 8 concurrent threads indexing multiple documents. > > > 1. Lucene creates a new in-memory segment for a thread if all other > existing in-memory segments are handing docs. So, does it mean that the > maximum number of in-memory segments I could have is 8? > 2. Is there a one-to-one mapping between in-memory segments and > segments that are created during flush -- i.e. when either the number of > buffer docs or the in-buffer size reaches the limit? > > > Thanks, > Alex > -- Sincerely yours Mikhail Khludnev
