本文主要是介绍Elastic Search 大批量数据导入设置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、大批量导入数据前,做一些配置,避免花费太多时间:
put http://xxx.xxx.xxx.xxx:9200/index_xxx/_settings
{
"index.number_of_replicas": 0, # 备份分配数量
"index.refresh_interval" : "-1", # 从index-buffer刷新到filesystem cache
"index.merge.policy.floor_segment": "100mb", # 官网的解释我没大看懂,我的个人理解是ES会避免产生很小size的segment,小于这个阈值的所有的非常小的segment都会做merge直到达到这个floor 的size,默认是2MB.
"index.merge.scheduler.max_thread_count": "1", # merge 线程调整
"index.merge.policy.max_merged_segment":"100m", # 超过多大size的segment不会再做merge,默认是5g.
"index.translog.flush_threshold_size": "100m" # 默认是200M
}
2、数据导完后,手动刷新一下:
get http://xxx.xxx.xxx.xxx:9200/index_xxx/_refresh
3、恢复一些配置:
put http://xxx.xxx.xxx.xxx:9200/index_xxx/_settings
{
"index.number_of_replicas": 1,
"index.refresh_interval" : "1s",
"index.merge.policy.floor_segment": "2mb",
"index.merge.scheduler.max_thread_count": "1",
"index.merge.policy.max_merged_segment":"5g",
"index.translog.flush_threshold_size": "200m"
}
这篇关于Elastic Search 大批量数据导入设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!