尝试使用elasticsearch CURL来测试ElastiSearch Cluster的运行情况

时间:2017-10-05 00:31:10

标签: curl elasticsearch kubernetes

如果我这样做:

  

curl -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": "adsdas@someDomain.de",
    "phone": "0912312312",
    "zipCode": "123412",
    "city": "Hannover",
    "street": "undefined"
}, query: {} 

我明白了:

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

知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

这是一个简单的Elasticsearch错误(与kubernetes无关),由动态映射引起的已经确定您的id字段是一个数字。当您第一次发送字段时,就会发生动态映射,并且从那里开始,您需要遵守该映射。

您可以通过请求映射索引来查看动态映射已决定的内容:

GET myProject/_mapping

我认为,克服这种映射问题的最佳实践方法总是首先创建映射,甚至可能禁用动态映射(Dynamic Mapping documentation

在创建索引(Create Index > Mapping documentation)或之后(Put mappings documentation

期间添加映射