Elasticsearch API實現增刪改查
阿新 • • 發佈:2019-01-09
使用kibana對elasticsearch進行操作
- 開啟elasticsearch和kibana
- 訪問http://192.168.25.129:5601 (使用安裝kibana的ip)
- 使用Dev Tools(如下)
使用elasticsearch API實現CRUD
新增索引
#指定配置建立索引lib #lib為索引名稱 #"number_of_shards":3 分片數量為3 #"number_of_replicas":0 備份數量為0 PUT /lib/ { "settings":{ "index"
查詢索引配置
#查詢lib的設定 GET /lib/_settings #結果如下 { "lib": { "settings": { "index": { "creation_date": "1534492852386", "number_of_shards"
新增文件
#指定新增文件id為1 #type為user,1是文件編號 PUT /lib/user/1 { "first_name":"Jane", "last_name":"Smith", "age":32, "about":"I like to collect rock albums", "interests":["music"] } #結果 { "_index": "lib", "_type": "user", "_id": "1", "_version": 1, "result": "created", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 0, "_primary_term": 1 } #不指定id新增文件 POST /lib/user/ { "first_name":"Douglas", "last_name":"Fir", "age":23, "about":"I like to build cabinets", "interests":["forestry"] } #結果如下,id由elasticsearch生成 { "_index": "lib", "_type": "user", "_id": "mJP7RmUBx8NiZecJ2McD" , "_version": 1, "result": "created", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 0, "_primary_term": 1 }
文件的查詢
#查詢id為1的文件 GET /lib/user/1 #結果 { "_index": "lib", "_type": "user", "_id": "1", "_version": 1, "found": true, "_source": { "first_name":"Jane", "last_name":"Smith", "age": 32, "about": "I like to collect rock albums", "interests": [ "music" ] } } #查詢不指定id新增的文件 GET /lib/user/mJP7RmUBx8NiZecJ2McD #結果 { "_index": "lib", "_type": "user", "_id": "mJP7RmUBx8NiZecJ2McD" , "_version": 1, "found": true, "_source": { "first_name":"Douglas", "last_name": "Fir", "age": 23, "about": "I like to build cabinets", "interests": [ "forestry" ] } } #指定查詢的欄位 GET /lib/user/1?_source=age,about //結果 { "_index": "lib", "_type": "user", "_id": "1", "_version": 1, "found": true, "_source": { "about": "I like to collect rock albums", "age": 32 } }
更新文件
#直接覆蓋原文件 PUT /lib/user/1 { "first_name":"Jane", "last_name":"Smith", "age":36, "about":"I like to collect rock albums", "interests":["music"] } #修改指定欄位(注意使用的是POST,推薦使用該方式) POST /lib/user/1/_update { "doc":{ "age":30 } }
刪除文件
#刪除id為1的文件 DELETE /lib/user/1 //結果 { "_index": "lib", "_type": "user", "_id": "1", "_version": 4, "result": "deleted", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 3, "_primary_term": 1 }