solr build索引时commit与optimize的概念

大家都知道,solr在提交索引的时候有commit和optimize的概念,今天来分析一下:

 

commit

当你像solr提交索引更新时,只有运行了commit,索引才会发生变化。当然也并不意味着你每次提交都要commit,如果不是那么紧急,你可以多次提交之后,再执行commit操作。

 

optimize

optimize有点像硬盘上整理磁盘碎片的操作。为了提高搜索速度,它会将索引重组在一起,然后移除需要被删除删除或是更新的文档,请注 意,solr是没有update的这种操作的,只有增加与删除。solr在优化时,将需要删除或是被替换的索引标记为deleted,然后再创建新的文档 替换掉需要被替换的。optimize就是执行此操作。所以在优化的时候,你的索引会增大,然后再减小。optimize操作会创建一个全新的的索引结 构,所以,你需要预备出2倍于你commit时索引大小的空间。

你可能感兴趣的:(commit)