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
多条件搜索: