[[index-modules]]
= Index Modules

[partintro]
--
Index Modules are modules created per index and control all aspects
related to an index. Since those modules lifecycle are tied to an index,
all the relevant modules settings can be provided when creating an index
(and it is actually the recommended way to configure an index).

[float]
[[index-modules-settings]]
== Index Settings

There are specific index level settings that are not associated with any
specific module. These include:

`index.refresh_interval`::
	A time setting controlling how often the
	refresh operation will be executed. Defaults to `1s`. Can be set to `-1`
	in order to disable it.

`index.codec`::

        experimental[]
        The `default` value compresses stored data with LZ4 compression, but
        this can be set to `best_compression` for a higher compression ratio,
        at the expense of slower stored fields performance.

`index.shard.check_on_startup`::

        experimental[]
        Should shard consistency be checked upon opening. When corruption is detected,
        it will prevent the shard from being opened.
        +
        When `checksum`, check for physical corruption.
        When `true`, check for both physical and logical corruption. This is much
        more expensive in terms of CPU and memory usage.
        When `fix`, check for both physical and logical corruption, and segments
        that were reported as corrupted will be automatically removed.
        Default value is `false`, which performs no checks.

NOTE: Checking shards may take a lot of time on large indices.

WARNING: Setting `index.shard.check_on_startup` to `fix` may result in data loss,
         use with extreme caution.

--

include::index-modules/analysis.asciidoc[]

include::index-modules/allocation.asciidoc[]

include::index-modules/slowlog.asciidoc[]

include::index-modules/merge.asciidoc[]

include::index-modules/store.asciidoc[]

include::index-modules/mapper.asciidoc[]

include::index-modules/translog.asciidoc[]

include::index-modules/cache.asciidoc[]

include::index-modules/query-cache.asciidoc[]

include::index-modules/fielddata.asciidoc[]

include::index-modules/similarity.asciidoc[]


