💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Index Modules(索引模块) 原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.3/index-modules.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.0/index-modules.html) 译文链接 : [http://www.apache.wiki/pages/viewpage.action?pageId=9405337](http://www.apache.wiki/pages/viewpage.action?pageId=9405337) 贡献者 : [苏涛](/display/~sutao),[ApacheCN](/display/~apachecn),[Apache中文网](/display/~apachechina) **Index** **Modules**(索引模块)是根据索引创建的 **modules** (模块),并控制与 **index**(索引)相关的所有设置。 ### Index Settings(索引设置) 索引级别的设置可以针对每个索引单独设置。这些设置可以是 :  _static_(静态的) 只能在索引创建时或者在状态为 [closed index](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/indices-open-close.html "Open / Close Index API")(闭合的索引)上设置。 _dynamic_(动态的) 可以使用 [update-index-settings](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/indices-update-settings.html) **API** 在状态为 **live index**(激活的索引)上更改它们。 警告 在闭合索引上更改 **static**(静态的)或 **dynamic**(动态的)索引设置可能导致不正确的配置,无法在不删除和重新创建索引的情况下进行纠正。 ### Static index settings(静态索引设置) 以下是与任何特定索引模块无关的,所有 **static**(静态)索引设置的列表 :  **index.number_of_shards** 索引应具有的主分片数。默认为 **5**。此设置只能在索引创建时设置。在闭合的索引上无法更改。注意 : 分片数量限制为每个索引 **1024 **个。这是一种安全限制,防止意外创建索引后资源分配导致集群不稳定。可以通过在集群的每个节点上设置环境变量 **ES_JAVA_OPTS ="- Des.index.max_number_of_shards = 128" **来修改限制。 **index.shard.check_on_startup** [实验功能],可能在后期版本中移除]是否应在索引打开前检查分片是否损坏,当检查到分片损坏将禁止分片被打开。 **false** 默认值,打开分片时不检查分片是否损坏。 **checksum** 检查物理损坏。 **true** 检查物理和逻辑损坏,这将消耗大量的内存和 **CPU**。 **fix** 检查物理和逻辑损坏。有损坏的分片将被集群自动删除,这将导致数据丢失。该选项**也许会造成数据丢失**。使用时请考虑清楚。 检查分片在数据量大的索引会消耗更多的时间。 **index.codec** 默认使用LZ4压缩方式存储数据,也可以设置为 **best_compression**,它使用 [DEFLATE ](https://en.wikipedia.org/wiki/DEFLATE)方式以牺牲字段存储性能为代价来获得更高的压缩比例。 **index.routing_partition_size** 自定义路由值可以转发的目的分片数。默认为 **1**,只能在索引创建时设置。此值必须小于 **index.number_of_shards**,除非 **index.number_of_shards **值也为 **1**。有关如何使用此设置的更多详细信息,请参阅 [Routing to an index partition](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/mapping-routing-field.html#routing-index-partition)。 ### Dynamic index settings(动态索引设置) 以下是与任何特定索引模块无关的,所有 **dynamic**(动态)索引设置的列表 :  **index.number_of_replicas** 每个主分片的副本数。默认为 **1**。 **index.auto_expand_replicas** 基于可用节点的数量自动分配副本数量。可以设置为以中划线分隔的最小值和最大值(例如 **0-5**)或设置最大值为 **all**(例如0-all)。默认为 **false**(即禁用此功能)。 **index.refresh_interval** 执行刷新操作的频率,这使得索引的最近更改可以被搜索。默认为 **1 **秒。可以设置为 **-1 **以禁用刷新。 **index.max_result_window** 用于索引搜索的 **from+size **的最大值。默认为 **10000**。搜索请求占用堆内存和时间与 **from+size **的大小成正比,有此限制是为了防止内存溢出。请参阅 **[Scroll ](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/search-request-scroll.html)**或 **[Search After](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/search-request-search-after.html)**,以提高效率。 **index.max_rescore_window**       在搜索此索引中 **rescore **的 **window_size **的最大值。默认为 "**index.max_result_window**"设置的值即 **10000**。搜索请求占用堆内存和时间与 **from+size **的大小成正比,有此限制是为了防止内存溢出。 **index.blocks.read_only**       设置为 **true **使索引和索引元数据为只读,**false **为允许写入和元数据更改。 **index.blocks.read**       设置为 **true **可禁用对索引的读取操作。 **index.blocks.write**       设置为 **true **可禁用对索引的写入操作。 **index.blocks.metadata**       设置为 **true **可禁用索引元数据的读取和写入。 **index.max_refresh_listeners**       索引的每个分片上可用的最大刷新侦听器数。这些侦听器用于实现 **[refresh=wait_for](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/docs-refresh.html)**。 ### Settings in other index modules(其他索引模块的设置) 在索引模块中其他可用的索引设置 :  [Analysis](http://www.apache.wiki/pages/viewpage.action?pageId=10028534)(分析) 定义 **analyzers**(分析器)、**tokenizers**(分词器)、**token** **filters**(词元过滤器)和 **character** **filters**(字符过滤器)。 [Index shard allocation](/pages/viewpage.action?pageId=9405588)(索引分片分配) 控制索引分配给节点的位置、时间、以及分片的方式。 [Mapping](http://www.apache.wiki/pages/viewpage.action?pageId=10028537)(映射) 启用或禁用索引的动态映射。 [Merging](http://www.apache.wiki/pages/viewpage.action?pageId=10028539)(合并) 控制后台合并线程如何合并分片。 [Similarities](http://www.apache.wiki/pages/viewpage.action?pageId=10028541)(相似性) 配置自定义相似性设置以自定义搜索结果的计分方式。 [Slowlog](http://www.apache.wiki/pages/viewpage.action?pageId=10028543)(慢日志) 控制记录搜索和索引请求的响应时间。 [Store](http://www.apache.wiki/display/Elasticsearch/Store)(存储)) 配置用于存储分片数据的文件系统类型。 [Translog](http://www.apache.wiki/pages/viewpage.action?pageId=10028549)(事务日志) 控制事务日志和后台刷新操作。