Elasticsearch:在几个索引上使用命令curl -XPUT,以相同的单词开头

时间:2016-07-26 11:37:04

标签: curl elasticsearch

我想在名为index1-%{+YYYY.MM.dd}的几个索引上运行以下脚本:

curl -XPUT http://localhost:9200/index1* -d '
{
    "mappings" : {
      "index1" : {
        "properties" : {
            "location": {
                "type": "geo_point"
               }
            }
        }
    }
}'

但是之前的脚本无法使用'*'

你知道如何解决这个问题吗?

此致

2 个答案:

答案 0 :(得分:2)

您是否要将相同的映射放到所有索引中?

如果是这样,您可以创建模板。并将index1 *放入其中,因此它将适用于以index1开头的所有索引。

    curl -XPUT http://localhost:9200/_template/template_name -d '
{
  "template": "index1*",
  "settings": {
    ....
  },
  "mappings" : {
    "name_mapping" : {
      "properties" : {
        "geometry" : {
          "type":"geo_shape",
          "tree":"quadtree",
          "precision":"1m"
        },
        ...

答案 1 :(得分:1)

您需要调用_mapping端点,因为索引index1*已经存在:

curl -XPUT http://localhost:9200/index1*/_mapping/index1 -d '{
    "properties" : {
        "location": {
            "type": "geo_point"
        }
    }
}'