1. 創建index(database)#
curl -X PUT http://10.210.40.59:9200/manage?pretty
--服務器ip端口號就不說了
--manage 我們需要創建一個基於項目的數據庫
--pretty 讓Elasticsearch美化輸出(pretty-print)JSON響應以便更加容易閱讀
查看創建好的索引(database)信息#
curl -X GET http://10.210.40.59:9200/manage?pretty
刪除索引(database)#
curl -X DELETE http://10.210.40.59:9200/manage?pretty
2. 創建type(table)#
在數據庫中創建user用戶表,當然表字段屬性設置除了type還有很多,這裏只作簡單快速使用的示例
curl -X PUT 10.210.40.59:9200/manage/_mapping/user?pretty -H 'Content-Type: application/json' -d ' { "properties": { "user_id": { "type": "long" }, "user_name": { "type": "text" }, "user_phone": { "type": "keyword" } } } '
有必要提一下表字段的支持數據類型:
字符串類型:string(已過期)(5.x後改成了text類型 添加了keyword類型, 至於區別百度一下你就知道) 整數 : byte,short,integer,long 浮點數:float,double 布爾型: boolean 日期: date
查看創建好的映射信息(表字段詳情)#
curl -X GET http://10.210.40.59:9200/manage/user/_mapping?pretty
添加映射(添加表字段)#
curl -X PUT 10.210.40.59:9200/manage/_mapping/user?pretty -d '{"properties":{"user_addr":{"type":"text"}}}'
3. 添加document(插入數據)#
爲了方便增加數據就不用linux命令了,有點麻煩,通過postman增加
URL: POST
# 指定id增加 http://10.210.40.59:9200/manage/user/1?pretty # 不指定id,es自動生成 http://10.210.40.59:9200/manage/user/?pretty
json參數串
{ "user_id":"10", "user_name":"Daniel", "user_phone":"13678909876", "user_addr":"北京" }
4. 刪除document(刪除數據)#
URL: DELETE、POST
# 指定id刪除 DELETE http://10.210.40.59:9200/manage/user/10 # 查詢式刪除 POST http://10.210.40.59:9200/manage/user/_delete_by_query?pretty # json參數串 { "query": { "bool": { "filter": { "terms": { "_id": ["1","AXGGuNaHdgsAZVXGg9_C"] } } } } }
想了解更多刪除可以參考官方文檔:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html
5. 修改document(修改數據)#
doc文檔格式修改#
# POST http://10.210.40.59:9200/manage/user/AXGGv5VOdgsAZVXGg-It/_update?pretty # json { "doc": { "user_name": "Claire", "user_phone": "13898765435" } }
腳本格式修改#
# POST http://10.210.40.59:9200/manage/user/AXGGv5VOdgsAZVXGg-It/_update?pretty # json { "script": "ctx._source.user_addr = '成都'" }
批量添加
http://127.0.0.1:9200/_bulk
{ "index": { "_index": "test", "_type": "user"} }
{"name": "song40","age":33}
{ "index": { "_index": "test", "_type": "user"} }
{"name": "song40","age":33}
{ "index": { "_index": "test", "_type": "user"} }
{"name": "song40","age":33}
{ "index": { "_index": "test", "_type": "user"} }
{"name": "song40","age":33}