目录
一、ES的使用
前提条件
index索引
动词:相当于mysql的insert名词:相当于mysql的db
Type类型
在index中,可以定义一个或多个类型类似于mysql的table,每一种类型的数据放在一起
Document文档
保存在某个index下,某种type的一个数据document,文档是json格式的,document就像是mysql中的某个table里面的内容。每一行对应的列叫属性
1、添加
# # 在customer索引下的external类型下保存1号数据
PUT customer/external/1
PUT my_index/_doc/1
{
"group" : "fans",
"user" : [
{
"first" : "John",
"last" : "Smith"
},
{
"first" : "Alice",
"last" : "White"
}
]
}
# POSTMAN输入
http://localhost:9200/customer/external/1
{
"name":"John Doe"
}
1)POST和PUT的区别
POST新增。如果不指定id,会自动生成id。指定id就会修改这个数据,并新增版本号;
可以不指定id,不指定id时永远为创建
指定不存在的id为创建
指定存在的id为更新,而版本号会根据内容变没变而觉得版本号递增与否
PUT可以新增也可以修改。PUT必须指定id;由于PUT需要指定id,我们一般用来做修改操作,不指定id会报错。
必须指定id
版本号总会增加
2、删除
1)删除文档或索引
DELETE customer/external/1
DELETE customer
3、修改
PUT my_index/_doc/1
{
"group" : "fans",
"user" : [
{
"first" : "John",
"last" : "Smith"
},
{
"first" : "Alice",
"last" : "White"
}
]
}
4、查询
GET /_cat/indices 查询所有的索引
①空查询
1)空查询
//空查询将返回所有索引库(indices)中的所有文档
GET /_search
{}
2)只用一个查询,你就可以在一个、多个或者 _all
索引库(indices