On 4/17/2013 4:28 PM, Furkan KAMACI wrote:
I see that while merging indexes (I mean optimizing via admin gui), my Solr instance can still response select queries (as well). How that querying mechanism works (because merging not finished yet but my Solr instance still can return a consistent response)?
Lucene index segments never change after they are fully committed. When you merge or optimize (explicit fullMerge), *new* segments are created, and the old ones are not deleted until the entire operation is complete.
The existing Searcher object that serves queries uses the old segments, which never change. A new Searcher object is created that uses the new segments, and if the operation is not a full merge, also uses some of the old segments.
Any old segments that are no longer required are deleted when the old Searcher closes.
Thanks, Shawn