7.2.5.3. 性能选项配置
以下配置将导致这些设置应用到 Animal 索引的第二个分片中 :
性能选项配置示例
default.Animals.2.indexwriter.max_merge_docs = 10 default.Animals.2.indexwriter.merge_factor = 20 default.Animals.2.indexwriter.term_index_interval = default default.indexwriter.max_merge_docs = 100 default.indexwriter.ram_buffer_size = 64
default.Animals.2.indexwriter.max_merge_docs = 10
default.Animals.2.indexwriter.merge_factor = 20
default.Animals.2.indexwriter.term_index_interval = default
default.indexwriter.max_merge_docs = 100
default.indexwriter.ram_buffer_size = 64
-
max_merge_docs
= 10 -
merge_factor
= 20 -
ram_buffer_size
= 64MB -
term_index_interval
= Lucene default
所有其他值将使用 Lucene 中定义的默认值。
Lucene 默认值是 Hibernate Search 的默认设置。因此,下表中列出的值取决于所使用的 Lucene 版本。显示的值相对于版本 2.4
。有关 Lucene 索引性能的更多信息,请参阅 Lucene 文档。
后端始终使用相同的设置执行工作。
属性 | 描述 | 默认值 |
---|---|---|
|
当其他进程不需要写入同一索引时,设置为 |
|
|
每个索引都有一个单独的"pipeline",其中包含要应用到索引的更新。当此队列满时,向队列添加更多操作将变为阻止操作。除非 |
|
| 确定应用和清空缓冲区内删除术语前所需的最小删除术语数量。如果当时内存中有被缓冲的文档,则它们会被合并并创建新的网段。 | 禁用(按 RAM 使用情况清空) |
| 控制索引期间内存中缓冲的文档数量。消耗的 RAM 量越大。 | 禁用(按 RAM 使用情况清空) |
| 定义片段中允许的最大文件数。较小的值在经常更改索引时表现更好,如果索引不经常改变,更大的值可以提供更好的搜索性能。 | 无限(Integer.MAX_VALUE) |
| 控制片段合并频率和大小。 确定插入时段索引的合并频率。使用较小的值时,索引和搜索未优化索引时会使用较少的 RAM,但索引速度较慢。当值较大时,索引期间会使用更多的 RAM,而搜索未优化索引时速度较慢,索引速度也更快。因此,较大的值(> 10)最适合创建批处理索引,更适合以互动方式维护的索引的更小的值(< 10)。该值不能低于 2。 | 10 |
| 控制片段合并频率和大小。 在下一个片段合并操作中始终考虑小于这个大小的片段(以 MB 为单位)。 设置这个太大可能会导致合并操作昂贵,即使它们的频率较低。
See also | 0 MB(实际为 ~1K) |
| 控制片段合并频率和大小。 大于这个大小的片段(以 MB 为单位)永远不会合并到更大的网段。 这有助于降低内存要求并避免以最佳搜索速度为代价进行一些合并操作。在优化索引时,这个值将被忽略。
See also | 无限 |
| 控制片段合并频率和大小。
即使优化索引,大于这个大小的片段(以 MB 为单位)也不会合并(请参阅
Applied to | 无限 |
| 控制片段合并频率和大小。
设置为
应用到 |
|
| 控制专用于文档缓冲区的 RAM 量(以 MB 为单位)。在一起使用 max_buffered_docs 时,会首先进行刷新(以此类事件为准)。 通常,为了提高索引性能,最好使用 RAM 刷新,而不是按文档计数进行清除,并使用尽可能大的 RAM 缓冲区。 | 16 MB |
| 设置索引术语之间的间隔。 较大的值会导致 IndexReader 使用的内存减少,但术语随机访问速度较慢。小的值可让 IndexReader 使用更多内存,并加快术语随机访问的速度。详情请查看 Lucene 文档。 | 128 |
|
使用复合文件格式的优点是使用较少的文件描述符。缺点是索引需要更长的时间和临时磁盘空间。您可以在改进索引时间时将此参数设置为
布尔值参数,使用 | true |
| 并非所有实体更改都需要 Lucene 索引更新。如果没有索引所有更新的实体属性(脏属性),Hibernate Search 将跳过重新索引的过程。
如果您使用需要在每次更新事件中调用的自定义
此优化不应用于使用
布尔值参数,使用 | true |