1. Elasticsearch的文件存儲是面向文檔型數據庫(有點類似 mongodb
)
一條數據在這里就是一個文檔,用JSON作為文檔序列化的格式,比如下面這條用戶數據:
{
"id": 1,
"name": "xxx",
"age": 18
}
2. 和mysql術語對比:
mysql es
database <-----> index
table <-----> type
row <-----> document
field <-----> field
3. 常用api
1)索引操作
查看索引健康狀態 : GET _cluster/health?level=indices
創建索引(類似create database) : PUT users
刪除索引(類似drop database) : DELETE users
查看索引設置(類似show create) : GET users/_settings
2) 文檔操作(類似crud)
> 創建文檔(mysql insert)
PUT users/user/1 { "name":"zhangShang", "age" : 20, "sex" : 1 }
> 批量插入文檔(mysql insert多個value)
POST books/name/_bulk {"index": {"_id": 1}} {"name": "《PHP之道》"} {"index": {"_id": 2}} {"name": "《代碼簡潔之道》"}
> 查看一個索引的所有文檔(mysql select)
GET books/_search
> 查看指定id的文檔
GET books/book/2
> 修改文檔(update)
> post方式:
POST books/name/_bulk {"index": {"_id": "3"}} {"update": "hello"}
> put方式:
PUT books/name/3 {"name": "java"}
> 刪除文檔:
DELETE books/name/3
> 文檔查詢:
單條件搜索:
GET bank/account/_search?q=firstname:Virginia
多條件搜索: