为elasticsearch定义合并策略参数

时间:2013-06-10 15:39:13

标签: elasticsearch

根据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?我可以在运行时执行此操作,还是仅在创建索引时执行此操作?

1 个答案:

答案 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