es增PUT 刪DELETE 改POST 查GET操作
阿新 • • 發佈:2020-12-19
技術標籤:資料庫elasticsearch
1、增PUT 刪DELETE 改POST 查GET:
2、插入資料:
格式 PUT /index/type/id
index相當於庫,type相當於表,id相當於主鍵
PUT /movie_index/movie/1
{ "id":1,
"name":"operation red sea",
"doubanScore":8.5,
"actorList":[
{"id":1,"name":"zhang yi" },
{"id":2,"name":"hai qing"},
{"id":3,"name":"zhang han yu"}
]
}
PUT /movie_index/movie/2
{
"id":2,
"name":"operation meigong river",
"doubanScore":8.0,
"actorList":[
{"id":3,"name" :"zhang han yu"}
]
}
PUT /movie_index/movie/3
{
"id":3,
"name":"incident red sea",
"doubanScore":5.0,
"actorList":[
{"id":4,"name":"zhang chen"}
]
}
3、一個庫只能建立一張type表:
儲存在這裡的全部都是json字串,都是文字內容,沒有複雜的資料結構,沒有表與表,庫與表等這些複雜的關係。這些儲存的資料都只是文字內容,查詢這些資料的時候,都是文字內容的匹配,以高效率查詢為主,查詢效率才是es最關注的東西。插入成功:
繼續把上邊剩餘兩條資料插入
4、把id為1和3的資料刪除之後:
查詢庫裡的所有資料:get movie_index/_search
"took": 57,頭57,代表總資料量,佔用的空間數,57kb
"timed_out": false,是否過期,這裡沒有過期
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
分片,分成5片了。
這裡扯一下大資料領域,例如1噸的水果(有橘子,蘋果,西紅柿,胡蘿蔔,西紅柿等),現在叫你把裡面的蘋果分離出來。直接從一噸分出來比較慢。
可以採取分片,把1噸分成1000份(map操作),每份就是1千克。
再從每份水果當中分離蘋果,這樣是不是比較快,分離之後再合併在一起(reduce操作),最後得到你要的結果,1噸裡分出來的蘋果。
"hits": {
"total": 3, 命中3條total資料
"max_score": 1, 最大評分max_score為1(100%)
"hits": [ 命中集合
{
"_index": "movie_index", 索引
"_type": "movie", type表
"_id": "2", id註解
"_score": 1, 相關性算分100%(因為還沒加查詢條件,查的是全部,所以100%)
"_source": { 結果
"id": 2,
"name": "operation meigong river",
"doubanScore": 8,
"actorList": [
{
"id": 3,
"name": "zhang han yu"
}
]
}
}
]