欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

solr build索引时commit与optimize的概念 博客分类: Compass&Lucene

程序员文章站 2024-02-14 09:26:22
...

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

 

commit

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

 

optimize

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