根据http://www.elasticsearch.org/guide/reference/index-modules/merge/ 我可以控制合并策略和合并策略的参数。
我不清楚如何做到这一点。 创建索引时,如果我想限制段的大小,我可以这样做:
curl -XPUT 'http://ec2-23-22-207-150.compute-1.amazonaws.com:9200/my_index/' -d '{
"settings" : {"index":{
"number_of_shards" : 10,
"number_of_replicas" : 2,
"merge":{"policy":{"max_merged_segmentss" : "2gb"}}}
}
}'
这似乎有效。这样:
curl -XGET 'http://localhost:9200/my_index/_settings?pretty=true'
的产率:
{
"my_index" : {
"settings" : {
"index.number_of_replicas" : "2",
"index.number_of_shards" : "10",
"index.merge.policy.max_merged_segment" : "2gb",
"index.version.created" : "900199"
}
}
}
但是,如果我改为使用随机标记max_merged_segment
更改some_random
,那么它只会产生:
{
"my_index" : {
"settings" : {
"index.number_of_replicas" : "2",
"index.number_of_shards" : "10",
"index.merge.policy.some_random" : "2gb",
"index.version.created" : "900199"
}
}
}
这让我怀疑我做错了什么。
另外,我如何更改实际的合并政策,例如从tiered
更改为log_byte_size
?我可以在运行时执行此操作,还是仅在创建索引时执行此操作?
答案 0 :(得分:0)
从Elasticsearch 2.0开始,这些设置都不再是可配置的(尽管这肯定不是你当时遇到的问题,因为它在2.0之前就已存在) * https://www.elastic.co/guide/en/elasticsearch/reference/2.0/breaking_20_setting_changes.html#_merge_and_merge_throttling_settings * https://discuss.elastic.co/t/tiered-merge-policy-settings-not-documented-in-2-x-gone/61470/2