elasticsearch 自定义_id

elasticsearch 自定义ID:

curl -s -XPUT localhost:9200/web -d '
{
    "mappings": {
        "blog": {
            "_id": {
                "path": "uuid"
            },
            "properties": {
                "title": {
                    "type":   "string",
                    "index":  "analyzed"
                }
            }
        }
    }
}'

启动本地es,然后写入数据,data2.json:

{ "index":  { "_index": "web", "_type": "blog", "_id": "123" }}
{"title":    "But we can update it" }
{ "index":  { "_index": "web", "_type": "blog", "_id": "123" }}
{ "title":    "But we can update it" }
{ "index":  { "_index": "web", "_type": "blog"}}
{ "title":    "But we can update it", "uuid": "3210"}

通过批量插入上述数据:

curl -s -XPOST localhost:9200/_bulk --data-binary @data2.json
{"took":3,"errors":false,"items":[{"index":{"_index":"web","_type":"blog","_id":"123","_version":5,"status":200}},
{"index":{"_index":"web","_type":"blog","_id":"123","_version":6,"status":200}},
{"index":{"_index":"web","_type":"blog","_id":"3210","_version":3,"status":200}}]}

可以看到新生成的文档_id为uuid的数值!

原文地址:https://www.cnblogs.com/bonelee/p/6055502.html