本文讲解Elasticsearch中的索引级别相关的设置方法:

(本文为官方文档翻译:​​点击进入原文​​​)
在前一篇的分页查询中,很多人在分页页码过大时会遇到一个错误:​​​Result window is too large, from + size must be less than or equal to: [10000] but was [10025].​​,解决方案请参考:​​点击进入​​

1.Update Indices Settings

实时更改特定的索引级别设置。
REST端点是/_settings(更新所有索引)或{index}/_settings来更新一个(或多个)索引设置。请求的主体包括更新的设置,例如:

PUT /twitter/_settings
{
"index" : {
"number_of_replicas" : 2
}
}

可以在此文中找到可以动态更新设置的索引列表,为了保护现有的设置不被更新,preserve_existing请求参数可以设置为true。

2.Bulk Indexing Usage

例如,使用更新设置API可以用来动态的将批量索引改变的更高效,然后将其移动到更实时的索引状态。在开始批量索引之前,请使用:

PUT /twitter/_settings
{
"index" : {
"refresh_interval" : "-1"
}
}

(另一个优化选项是在没有任何副本的情况下启动索引,并且只在以后添加它们,但这实际上取决于用例)。
然后,一旦完成了批量索引,就可以更新设置(例如,回到默认值):

PUT /twitter/_settings
{
"index" : {
"refresh_interval" : "1s"
}
}

3.Updating Index Analysis

还可以为索引定义新的分析器。但是必须先关闭索引,然后在修改后打开它。

例如,如果content分析器还没有在myindex上定义,那么您可以使用以下命令来添加它:

POST /twitter/_close

PUT /twitter/_settings
{
"analysis" : {
"analyzer":{
"content":{
"type":"custom",
"tokenizer":"whitespace"
}
}
}
}

POST /twitter/_open

更多设置,请参考:​​点击这里​

下一篇:​​15.Elasticsearch更新文档1—全文更新—restAPI​​