如何在elasticsearch中设置多字段值

时间:2017-05-12 11:25:21

标签: elasticsearch

我有以下映射 -

{
    "mappings": {
        "my_type": {
            "properties": {
                 "status": {
                      "type": "text",
                      "fields": {
                         "code": {
                            "type": "keyword"
                         }
                      }
               }    
            }   
        }    
    }
}

我想为状态和代码设置值,例如 -

  

status - CRITICAL
status.code - 10

我该怎么做?

1 个答案:

答案 0 :(得分:1)

你不能这样做。您需要使用object类型而不是多字段

{
  "mappings": {
    "my_type": {
      "properties": {
        "status": {
          "type": "object",
          "properties": {          
            "name": {
              "type": "keyword"
            },
            "code": {
              "type": "integer"
            }
          }
        }
      }
    }
  }
}

然后你就可以设置

status.name - CRITICAL 
status.code - 10