Elasticsearch 单模式下API的增删改查操作
1.初始化索引
—————————–
初始化索引
创建索引之前可以对索引做初始化操作
比如指定shards数量以及replicas的数量
PUT http://ip:9200/library/
{
"settings":{
"index":{
"number_of_shards":5,
"number_of_replicas":1
}
}
}
上面的number_of_replicas还可以换成:
blocks.read_only:设为true。则当前索引只允许读,不允许写或者更新
blocks.read:设为true,则禁止读操作
blocks.write:设为true,则禁止写操作
blocks.metadata:设为true,则禁止对metadata操作
—————————-
#可以通过GET带上参数_settings获得该索引详细的配置信息
GET /library/_settings
#同时获取两个索引的信息
GET /library,library/_settings
#获取所有索引的信息
GET /_all/_settings
—————————-
2.创建一个索引:增删改查
创建一个索引
----索引名称
| Type 名称
| | 文档ID
| | |
☟ ☟ ☟
PUT /library/books/1
{
"title":"Elasticsearch: The Definitive Guide",
“name”:{
"first":"Zachary",
"last":"Tong"
},
"publish_date":"2017-12-27",
"price":"99.99"
}
ID也可以选择不设置,不设置的话会自动生成一个uuid
POST /library/books/
{
"title":"Elasticsearch Blueprints",
"name":{
"first":"Vineeth",
"last":"Mohan"
}
"publish_date":"2017-12-27",
"price":"98.99"
}
#通过ID获得文档信息
GET /library/books/1
GET /library/books/2
GET uuid
#通过_source获取指定的字段
GET /library/books/1?_source=title
GET /library/books/1?_source=title,price
GET /library/books/1?_source
#我们更新同一个ID下的文档,可以通过覆盖的方式更新
PUT /library/books/1
{
"title":"Elasticsearch: The Definitive Guide",
“name”:{
"first":"Zachary",
"last":"Tong"
},
"publish_date":"2017-12-27",
"price":"88.88"
}
GET /library/books/1
#可以通过_update API的方式单独更新你想要更新的字段
POST /library/books/1/_update
{
"doc":{
"price":10
}
}
GET /library/books/1
#删除一个文档的方法
DELETE /library/books/1
DELETE /library/books
DELETE /library
GET /library
扩展:Elasticsearch的内置字段以及类型
内置字段:
_uid, _id, _type, _source, _all, _analyzer , _boost , _parent, _routing, _index, _size, _timestamp, _ttl
字段类型:
String,Integer/long, Float/double, Boolean, Null, Date