目录
- 前言
- 一、 创建
- 1、创建一个新的索引
- 二、 添加
- 1、 指定id插入数据
- 2、不指定id插入数据
- 三、修改
- 1、更新文档中的某个字段
- 2、重置整个文档
- 四、 删除
- 1、 删除文档
- 2、 删除类型
- 3、 删除索引
- 五、 查询
- 1、查询某索引/类型下所有的文档
- 2、 根据id查询某个文档
- 3、 根据特定字段查询
前言
首先这里是关于ES2的,对ES6及以上的需要看另一篇文章,这个不适合
建议大家还是去Elastic的ES2教程看看细节,这里只是初步的记录一下
下面所有的语句都是直接用插件实现的,如果你用http(我是用postman)的话请在索引前加上ip和端口,
举个例子: get请求 127.0.0.1.9300/索引/类型/id
一、 创建
1、创建一个新的索引
put 新索引
{
"settings": {
"number_of_shards": 3, //主分片
"number_of_replicas": 1 //副本数
},
"mappings": {
"doc": { //类型
"properties": {
"name": {
"type": "string"
},
"age": {
"type": "integer"
},
"date": {
"type": "date",
"format": "strict_date_optional_time||epoch_millis" //数据显示是long类型的
}
}
}
}
}
二、 添加
1、 指定id插入数据
put 索引/类型/指定的id
{
"name": "xingming",
"age": 22,
"date": 1603683862
}
2、不指定id插入数据
post 索引/类型/
{
"name": "xingming",
"age": 22,
"date": 1603684892
}
三、修改
1、更新文档中的某个字段
post 索引/类型/id/_update
{
"doc": {
"name": "sss",
"age": 33
}
}
2、重置整个文档
put 索引/类型/id
{
"字段名":新值
}
四、 删除
1、 删除文档
delete 索引/类型/id
{}
2、 删除类型
Elasticsearch已经不支持删除一个type了,所以使用delete命令想要尝试删除一个type的时候会出现如下错误:
如果存在一个名为edemo的index和tets的type:
No handler found for uri [/edemo/test] and method [DELETE]
官方推荐的是重新删除索引再重新创建
3、 删除索引
delete 索引
{}
五、 查询
1、查询某索引/类型下所有的文档
指定索引类型
get 索引/类型/_search
{}
指定索引
get 索引/_search
{}
2、 根据id查询某个文档
get 索引/类型/id
{}
3、 根据特定字段查询
post 索引/_search
{
"query": {
"match": {
"字段名": "值"
}
},
"size": 搜索的数量
}