在上一篇文章中我們介紹了elasticsearch的基本概念以及索引和索引映射的restful接口和它們之間的關係https://blog.csdn.net/weixin_42214548/article/details/107094416,今天再來給大家介紹一下elasticsearch中的文檔以及它的restful接口的使用
文檔
創建文檔
POST http://127.0.0.1:9200/index_test/_doc/id
URL結尾可以指定文檔的id,如果不指定文檔的id則會自動生成一個id
請求參數
{
"id":1001,
"sex": 2,
"realname": "大帥比",
"username":"有退休金的老李"
}
響應
{
"_index": "index_test",
"_type": "_doc",
"_id": "zv0HEHMBnqHViiCdQnfE",
"_version": 2,
"result": "updated",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 1
}
elasticsearch的結果
可以看到最後成功的響應了,並且大家可以注意返回的參數中有一個_type和_version,_type表示elasticsearch中索引的類型,但是我們創建索引的時候沒有指定類型,在新版本中類型的概念已經被弱化默認就是文檔,_version則是每次操作了索引之後的一個版本號,每次都會加1
刪除文檔
DELETE http://127.0.0.1:9200/index_test/_doc/zv0HEHMBnqHViiCdQnfE
{
"_index": "index_test",
"_type": "_doc",
"_id": "zv0HEHMBnqHViiCdQnfE",
"_version": 3,
"result": "deleted",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 2,
"_primary_term": 1
}
修改文檔
修改文檔可以分爲局部修改和全量修改,下面爲大家顯示一下
全量修改
PUT http://127.0.0.1:9200/index_test/_doc/zv0HEHMBnqHViiCdQnfE
{
"id":1001,
"sex": 2,
"realname": "大帥比2222222",
"username":"有退休金的老李"
}
{
"_index": "index_test",
"_type": "_doc",
"_id": "zv0HEHMBnqHViiCdQnfE",
"_version": 2,
"result": "updated",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 4,
"_primary_term": 1
}
局部修改
POST http://127.0.0.1:9200/index_test/_doc/zv0HEHMBnqHViiCdQnfE/_update
{
"doc":{
"username":"有退休金的老李11111"
}
}
{
"_index": "index_test",
"_type": "_doc",
"_id": "zv0HEHMBnqHViiCdQnfE",
"_version": 3,
"result": "updated",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 5,
"_primary_term": 1
}