存储模块允许您控制索引数据如何在磁盘上存储和访问。
有不同的文件系统实现或存储类型。默认情况下,Elasticsearch将根据操作环境选择最佳存储类型。
通过将下面的配置添加到config/elasticsearch.yml文件中,可以涵盖所有索引:
index.store.type: niofs
它是一个静态设置,可以在索引创建时基于每个索引设置:
PUT /my_index
{
"settings": {
"index.store.type": "niofs"
}
}
警告
这是为专业人员使用的设置,将来可能会被删除
以下部分列出了支持的所有不同的存储类型。
fs
默认文件系统实现。这将根据操作环境选择最佳实现:Windows 32bit上的_simplefs,其他32位系统上的niofs和64位系统上的mmapfs_。
simplefs
简单的FS类型是文件存储系统的简单实现(对应Lucene的_SimpleFsDirectory_),使用随机存取文件。此实现具有较差的并发性能(多线程会阻塞)。当需要持久保留索引时,通常使用niofs。
niofs
NIO FS类型在文件存储系统上使用NIO存储分片索引(对应Lucene的_NIOFSDirectory_)。它允许多个线程同时从同一个文件中读取。由于SUN Java实现存在漏洞,Windows不推荐使用它。
mmapfs
MMap FS类型在文件系统上通过映射文件到内存(mmap)存储分片索引(对应Lucene的_MMapDirectory_)上。内存映射使用过程中虚拟内存地址空间的一部分等于要映射的文件的大小。在使用此类之前,请确保您已经有充足的虚拟地址空间。
default_fs
默认类型已被弃用,并且为了向后兼容,将其重命名为fs。