Choosing the right directory implementation – the store module
The store module is one of the modules that we usually don't pay much attention to when configuring our cluster; however, it is very important. It is an abstraction between the I/O subsystem and Apache Lucene itself. All the operation that Lucene does with the hard disk drive is done using the store module. Most of the store types in Elasticsearch are mapped to an appropriate Apache Lucene Directory class (http://lucene.apache.org/core/4_9_0/core/org/apache/lucene/store/Directory.html). The directory is used to access all the files the index is built of, so it is crucial to properly configure it.
The store type
Elasticsearch exposes five store types that we can use. Let's see what they provide and how we can leverage their features.
The simple filesystem store
The simplest implementation of the Directory
class that is available is implemented using a random access file (Java RandomAccessFile
—http://docs.oracle.com/javase/7/docs/api...