Elasticsearch官方文档翻译-预加载数据到文件系统缓存

本系列文章翻译ES官方8.0版本文档。本章对应内容地址 Preloading data into the file system cache

因为水平有限,翻译内容难免存在错漏,欢迎大家指出

点击跳转本系列目录

预加载数据到文件系统缓存

  默认情况下Elasticsearch完全依赖文件系统的缓存来对I/O操作进行缓存。也可以通过设置index.store.preload的值来告诉操作系统当打开热点数据时将数据加载到缓存,这个配置接收文件扩展名,需要配置多个时可用都好分隔,这样当操作系统打开这些扩展名的文件时会将数据加载到缓存。这对于提高索引的搜索性能非常有用,特别是在主机操作系统重新启动时,因为这会导致文件系统缓存被破坏。但是,请注意,这可能会减慢索引的打开速度,因为只有在数据加载到物理内存后,索引才会可用。

  这个配置只是尽量进行,并且在有些操作系统上是无效的。

  index.store.preload配置项是静态的,可用在config/elasticsearch.yml文件中进行设置,如下

index.store.preload: ["nvd", "dvd"]

  也可以在创建索引时设置

PUT /my-index-000001
{
  "settings": {
    "index.store.preload": ["nvd", "dvd"]
  }
}

默认的配置为一个空的数组,也就是说不会有文件在打开时被加载到系统缓存。对于经常被检索的索引,你可能需要进行相关的配置如["nvd", "dvd"],这会让norms和 doc values更快的被加载到内存。

posted @ 2022-03-05 16:24  qqfde  阅读(508)  评论(0编辑  收藏  举报