On Fri, Nov 20, 2009 at 2:32 PM, Michael <solrco...@gmail.com> wrote:
> On Fri, Nov 20, 2009 at 12:35 PM, Yonik Seeley
> <yo...@lucidimagination.com> wrote:
>> On Fri, Nov 20, 2009 at 12:24 PM, Michael <solrco...@gmail.com> wrote:
>>> So -- I thought I understood you to mean that if I frequently merge,
>>> it's basically the same as an optimize, and cruft will get purged.  Am
>>> I misunderstanding you?
>>
>> That only applies to the segments involved in the merge.  The deleted
>> documents are left behind when old segments are merged into a new
>> segment.
>
> Your statement is leading me to believe that I have misunderstood the
> merge process.  I thought that every time there are 10 segments, they
> get merged down to 1.  Therefore, every time a merge happens, every
> single segment in my entire index is "involved in the merge".  9
> segments later, we're back to 10 segments, and they're merged into 1.
> 9 segments later, we're back to 10 segments once again, and they're
> merged into 1.
>
> Maybe I have misunderstood the mergeFactor docs.  Maybe instead it's like 
> this?
> 1. Segment A1 fills with N docs, and a new segment A2 is created.
> 2. A2 fills with N docs, and A3 is created; A3 fills with N docs, etc.
> 3. A9 fills with N docs, and merging occurs: Segment B1 is created
> with 10*N docs, segments A1-A9 are deleted.
> 4. A new segment A1 fills with N docs, and a new segment A2 is
> created; B1 is still sitting with 10*N docs.
> 5. Eventually A1 through A9 each have N docs, and then merging occurs:
> Segment B2 is created, with 10*N docs.
> 6. Eventually Segments B1 through B9 each have 10*N docs, and merging
> occurs: Segment C1 is created, with 100*N docs.  Segments B1-B9 are
> deleted.
> 7. A new A1 starts filling again.
>
> Some time down the line I might have 4 D segments with 1000*N docs
> each, 6 C segments with 100*N docs each, 8 B segments with 10*N docs
> each, 2 A segments with N docs each, and an open A3 segment filling
> up.
>
> If this is right, then your statement above means that yes, each merge
> of many As into 1 B purges all the deleted docs in A1-A9, but All my
> Ds, Cs, and Bs aren't updated to purge deleted docs yet.  Only when
> B1-B9 merge into a new C do their deleted docs get purged; only when
> C1-C9 merge into a new D do their deleted docs get purged; etc.
>
> Is this right?  Sorry it was so verbose!

Yep, that's right.

-Yonik
http://www.lucidimagination.com

Reply via email to