elasticsearch index setting - yaokun123/php-wiki GitHub Wiki
- 1、修改集群只读
PUT _settings
{
"index":{
"blocks":{
"read_only_allow_delete":"false"
}
}
}
- 2、修改限流阈值
默认值是 20 MB/s,对机械磁盘应该是个不错的设置。如果你用的是 SSD,可以考虑提高到 100–200 MB/s
PUT /_cluster/settings
{
"persistent" : {//这些变更会永久存在直到被显式修改。即使全集群重启它们也会存活下来并覆盖掉静态配置文件里的选项。
"indices.store.throttle.max_bytes_per_sec" : "100mb"
}
}
如果你在做批量导入,完全不在意搜索,你可以彻底关掉合并限流。这样让你的索引速度跑到你磁盘允许的极限:
PUT /_cluster/settings
{
"transient" : {//临时这些变更在集群重启之前一直会生效。一旦整个集群重启,这些配置就被清除。
"indices.store.throttle.type" : "none"
}
}
设置限流类型为 none 彻底关闭合并限流。等你完成了导入,记得改回 merge 重新打开限流。
- 3、数据在节点间传输最大带宽
PUT /_cluster/settings
{
"transient" : {
"indices.recovery.max_bytes_per_sec" : "100mb"
}
}
- 4、修改某个索引的最大搜索返回条数
PUT company_new_index/_settings
{
"index":{
"max_result_window":30000
}
}
- 5、修改最大桶
这是6.x版本才有的特性,目的:限制大批量聚合操作,规避性能风险。
PUT _cluster/settings
{
"persistent": {
"search.max_buckets": 30000
}
}
- 6、获取某个索引的设置信息
GET company_new_index/_settings