我认为mergeFactor可以被认为是段中的最大数量,但是当它设置为10时,我在索引之后得到了16个段,并且当段中的数量超过15和20时发生合并。我真的很困惑这个意思mergeFactor。
这是我的配置
<ramBufferSizeMB>32</ramBufferSizeMB>
<maxBufferedDocs>100000</maxBufferedDocs>
<mergeFactor>10</mergeFactor>
答案 0 :(得分:11)
来自Solr Wiki - SolrPerformanceFactors - Merge Factor documentation
mergeFactor 粗略确定段数。 mergeFactor值告诉Lucene在将它们合并到单个段之前要构建多少个相同大小的段。它可以被认为是数字系统的基础。
这不是一个确切的数字,而是指导如何在磁盘上管理索引。以下是关于该值的不同设置对索引性能的影响的一些额外的良好指导:
mergeFactor权衡
高价值合并因子(例如25):
- Pro:通常可以提高索引速度
- Con:合并频率较低,导致集合中包含更多索引文件,这可能导致搜索速度变慢
低值合并因子(例如,2):
- Pro:索引文件数量较少,可加快搜索速度。
- Con:更多细分合并会降低索引速度。
您还可以参考mergeFactor documentation on the Lucidworks site以获取有关mergeFcator如何工作以及可能影响索引性能的更多详细信息。但我认为这里的关键是这一段:
如果创建新细分会导致最低级别的数量 要超过mergeFactor值的段,那么所有这些段都是 合并在一起形成一个大的细分市场。因此,如果合并 因子是十,每个合并导致创建一个单独的段 这比其十个成分中的每一个都大约十倍。 当这些较大的段有mergeFactor设置时,那么 它们又合并为一个更大的单个细分市场。这个 过程可以无限期地继续。