一、JSON语法
键值对:JSON中的数据在键/值对中,键和值之间用冒号分隔。键必须是字符串,并且用双引号包围。
对象:对象由大括号{}包围,包含多个键值对,键值对之间用逗号分隔。
数组:数组由方括号[]包围,包含多个值,值之间用逗号分隔。
数据类型:JSON的value值可以包括数字(整数或浮点数)、字符串(在双引号中)、逻辑值(true或false)、数组、对象、null等。
#一个包含数组和对象的复杂 JSON
{
"students": [
{
"name": "John",
"age": 22,
"isStudent": true
},
{
"name": "Jane",
"age": 23,
"isStudent": true
}
],
"class": "CS101",
"lecturer": null
}
字符串 | 数值 | 布尔值 | 空值 | 数组 | 对象 |
字符串类型由左右两个英文双引号包裹 | 数字值,可以是整数、浮点数 | true false | null | 由[]包裹,方括号里可以放若干由逗号分隔的值,值的类型可以是六种值类型的任意一种 | 由{}包裹,大括号里可以放若干由字符串、冒号、值组成的键值对,键值对之间由逗号分隔 |
"John" "Jane" | 22 23 | true false | null | [1, "apple", true] | { "name": "John", "age": 30, "isStudent": false } |
二、文档基础管理
1.创建文档(索引一个新文档)post001
#创建文档 不指定文档ID
POST http://192.168.77.176:9200/alibaby007/_doc/
#body内容 json格式
{
"name": "alibaby"
}
#创建文档 指定文档ID
POST http://192.168.77.176:9200/alibaby007/_doc/001
#body内容 json格式
{
"name": "alibaby",
"INFO": ["男","20","北京"]
}
2.获取文档 get
GET http://192.168.77.176:9200/alibaby007/_doc/001
GET http://192.168.77.176:9200/alibaby007/_search
3.更新文档 post 局部更新 有的更改 无的增加
POST http://192.168.77.176:9200/alibaby007/_update/001
#body内容 json格式
{
"doc": {
"name": "alibaby_wahaha",
"INFO": ["女","22","上海"],
"COUNTY": "China"
}
}
修改过后的数据
4.删除文档 delete
DELETE http://192.168.77.176:9200/alibaby007/_doc/001
三、文档的批量操作 批量管理文档通常使用_bulk
1.批量添加文档 post
POST http://192.168.77.176:9200/_bulk
#body内容 json格式
{ "index" : { "_index" : "alibaby006", "_id" : "001" } }
{ "name" : "alibaby","INFO":["女","22","上海"] }
{ "index" : { "_index" : "alibaby006", "_id" : "002" } }
{ "name" : "jdbaby","INFO":["男","20","北京"] }
报错 "The bulk request must be terminated by a newline [\\n]" 解决 :最后添加一个空行
2.批量更新文档 post
POST http://192.168.77.176:9200/_bulk
#body内容 json格式
{ "update" : { "_index" : "alibaby006", "_id" : "001" } }
{ "doc" : { "name" : "alibaby-jd" } }
{ "update" : { "_index" : "alibaby006", "_id" : "002" } }
{ "doc" : { "name" : "jdbaby-ali" } }
更新后数据
3.批量查询 post 批量查询使用_mget
POST http://192.168.77.176:9200/_mget
#body内容 json格式
{
"docs": [
{
"_index": "alibaby006",
"_id": "001"
},
{
"_index": "alibaby006",
"_id": "002"
}
]
}
4.批量删除文档 post
POST http://192.168.77.176:9200/_bulk
#body内容 json格式
{ "delete" : { "_index" : "alibaby006", "_id" : "001" } }
{ "delete" : { "_index" : "alibaby006", "_id" : "002" } }