ElasticSearch快速使用篇(基本命令篇)
實例:基於一個人員的管理系統項目詳細介紹ElasticSearch接入使用的流程
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 = '成都'"
}
關於ElasticSearch的快速入門和使用以及相關創建數據庫和數據的增刪改操作就說到這,之后再單獨寫一篇關於查詢的記錄。