2017-10-05 17 views
0

如果我做的:试图elasticsearch卷曲测试ElastiSearch集群failling

卷曲-X POST http://elasticsearch:9200/myProject/customer/59d56aadaedef10001c4d023/_create -d @ es.json

对我的弹性集群Kubernetes

ES .json

{ 
    "id": "59d56aadaedef10001c4d023", 
    "displayId": "A-18", 
    "agentId": "59d291aee1e6480020b5f042", 
    "firstName": "Dieter", 
    "lastName": "adsadsdsa", 
    "birthday": "1990-01-01T00:00:00.000Z", 
    "email": "[email protected]", 
    "phone": "0912312312", 
    "zipCode": "123412", 
    "city": "Hannover", 
    "street": "undefined" 
}, query: {} 

我得到:

{ "error" : "MapperParsingException[failed to parse [id]]; nested: NumberFormatException[For input string: \"59d56aadaedef10001c4d023\"]; ", "status" : 400 }

知不知道林做错了什么?

+0

原来我不喜欢弹性的ID b eing发送到身体?正确? – nottinhill

+2

你可以显示你从'curl -XGET http:// elasticsearch:9200/myProject/customer/_mapping'得到的映射吗? – Val

+1

我会猜测你已经将id字段映射到数字类型。就像@Val说的那样,我们可以肯定地知道映射查询的结果。 – Miek

回答

0

这是一个普通的Elasticsearch错误(与kubernetes无关),由动态映射引起的已经决定了您的id字段是一个数字。动态映射发生在您第一次发送字段时,您需要遵循该映射。

你可以看到动态映射已通过请求索引的映射决定:

GET myProject/_mapping 

的一种方式,最好的实践方法,我认为,要克服映射的问题,像这始终是创建映射第一,甚至关闭动态映射(Dynamic Mapping documentation

或者索引的创建(Create Index > Mapping documentation)期间或之后增加映射(Put mappings documentation