solr 4.0中的mergeFactor用法

Wan*_*Jun 6 lucene solr

我认为mergeFactor可以被认为是段中的最大数量,但是当它设置为10时,我在索引之后得到16个段,并且当段的数量超过15和20时发生合并.我真的很困惑mergeFactor的意思.

这是我的配置

<ramBufferSizeMB>32</ramBufferSizeMB>
<maxBufferedDocs>100000</maxBufferedDocs>
<mergeFactor>10</mergeFactor>
Run Code Online (Sandbox Code Playgroud)

Pai*_*ook 11

来自Solr Wiki - SolrPerformanceFactors - 合并因子文档

mergeFactor 粗略地确定了段的数量.mergeFactor值告诉Lucene在将它们合并到单个段之前要构建多少个相同大小的段.它可以被认为是数字系统的基础.

它不是一个确切的数字,而是指导如何在磁盘上管理索引.以下是关于此值的不同设置对索引性能的影响的一些额外的良好指导:

mergeFactor权衡

高价值合并因子(例如,25):

  • Pro:通常可以提高索引速度
  • Con:不太频繁的合并,导致集合中包含更多索引文件,这可能会减慢搜索速度

低值合并因子(例如,2):

  • Pro:索引文件数量较少,可加快搜索速度.
  • Con:更多细分合并减慢了索引速度.

您还可以在Lucidworks站点上引用mergeFactor文档,以获取有关mergeFcator如何工作以及可能影响索引性能的更多详细信息.但我认为这里的关键是这一段:

如果创建新段将导致最低级段的数量超过mergeFactor值,则所有这些段将合并在一起以形成单个大段.因此,如果合并因子是10,则每次合并导致创建单个段,该段大约是其十个成分中的每一个的十倍.当这些较大的段有mergeFactor设置时,它们又会合并为更大的单个段.这个过程可以无限期地继续下去.