elasticsearch指定其他字段为主键_id字段


原文链接: elasticsearch指定其他字段为主键_id字段

The Great Mapping Refactoring
用了这么久的elasticsearch,一直以为es只有对_id字段进行赋值的方法来使用主键进行去重,今天才发现原来_id也可以指定为其他字段,

es会自动将指定字段的值,赋值给_id字段,这样就比较方便了.这里记录一下:

这里直接索引库和mapping一起创建:

curl -XPOST localhost:9200/test -d '{
 "settings" : {
     "number_of_shards" : 1,
     "number_of_replicas":0
 },
 "mappings" : {
     "test1" : {
         "_id":{"path":"mainkey"},
         "_source" : { "enabled" : false },
         "properties" : {
             "mainkey" : { "type" : "string", "index" : "not_analyzed" }
         }
     }
 }
}'

然后看一下mapping如下:

然后插入一条数据:
curl -XPOST localhost:9200/test/test1 -d'
{
"mainkey":"aaa"
}'
然后查询:

这样,就完成了.

`