Elasticsearch基本映射失败

时间:2017-08-22 09:09:31

标签: elasticsearch kibana

我已经为Elasticsearch 5.5.2和Kibana安装了Docker容器。我开始学习映射类型,并通过xcurl使用以下代码创建索引:

{
  "mappings": {
    "user": { 
      "_all":       { "enabled": false  }, 
      "properties": { 
        "title":    { "type": "text"  }, 
        "name":     { "type": "text"  }, 
        "age":      { "type": "integer" }  
      }
    }
}

索引已成功创建,我决定插入一些数据。当我尝试将字符串添加到整数字段i.e. {"age": "hello"}时,Elastic显示错误(这意味着映射正常工作)。问题出在其他数据类型上:

1.它接受字符串字段中的整数和浮点数(我认为这可能是因为隐式转换)。

2.它接受22.4字段中age之类的浮点数(当我使用Kibana或xcurl搜索时,age字段内容显示为float而不是整数,这意味着是不是从浮点数转换为整数)

我做得不好?

1 个答案:

答案 0 :(得分:1)

你试过禁用胁迫吗?它可以在现场级别完成:

   {
     "mappings": {
       "user": { 
         "_all":       { "enabled": false  }, 
         "properties": { 
           "title":    { "type": "text"  }, 
           "name":     { "type": "text"  }, 
           "age":      { "type": "integer",
                         "coerce": false}  
         }
       }
   }

或在所有字段的索引级别:

   "settings": {
       "index.mapping.coerce": false
     },
     "mappings": {
   ...