作者:米粒尖尖果儿_445 | 来源:互联网 | 2023-07-01 16:14
ElasticSearch RESTFUL风格的增删改查操作
1、RESTFUL相关
ES中相关概念:是基于Lucene开发的分布式全文检索框架,往ES中存储和从ES中查询,格式是JSON
索引:Index 相当于数据库中的database
类型:type 相当于数据中的table
主键:Id 相当于数据库中的主键
往ES中存储数据,其实就是往ES中的Index 下的type下存储JSON数据
RESTFUL风格的API(请求规范)
通过http的形式,发送请求,对ES进行操作
查询:请求方式应该为GET
删除:请求方式应该为DELETE
添加:请求方式为PUT或POST
修改:请求方式为PUT或POST
其中index、type是必须提供的。
id是可选的,不提供es会自动生成。
index、type将信息进行分层,利于管理。
index可以理解为数据库;type理解为数据表;id相当于数据库表中记录的主键,是唯一的。
2、增删改查操作:
在node-1主机上
#向store索引中添加一些书籍
curl -H “Content-Type: application/json” -XPUT ‘http://192.168.43.250:9200/store/books/1’ -d ‘{
“title”: “Elasticsearch book”,
“name” : {
“first” : “guanglei”,
“last” : “wu”
},
“publish_date”:“2020-06-01”,
“price”:“49.99”
}’
Node-1主机查询结果
curl -XGET ‘http://192.168.43.250:9200/store/books/1’
Node -2 查询结果
curl -XGET ‘http://192.168.43.250:9200/store/books/1’
通过浏览器查找
再添加一本书
curl -H “Content-Type: application/json” -XPUT ‘http://192.168.43.250:9200/store/books/2’ -d ‘{
“title”: “Elasticsearch book2”,
“name” : {
“first” : “guanglei”,
“last” : “wu”
},
“publish_date”:“2020-06-01”,
“price”:“35.99”
}’
查询curl -XGET ‘http://192.168.43.250:9200/store/books/2’
通过_source获取指定的字段
curl -XGET ‘http://192.168.43.250:9200/store/books/1?_source=title,price’
#可以通过覆盖的方式更新
curl -H “Content-Type: application/json” -XPUT ‘http://192.168.43.250:9200/store/books/1’ -d ‘{
“title”: “Elasticsearch: book001”,
“name” : {
“first” : “guanglei”,
“last” : “wu”
},
“publish_date”:“2020-06-01”,
“price”:“99.99”
}’
或者通过 _update API的方式单独更新你想要更新的
curl -H “Content-Type: application/json” -XPOST
‘http://192.168.43.250:9200/store/books
/1/_update’ -d ‘{
“doc”: {
“price” : 88.88
}
}’
#删除一个文档
curl -XDELETE ‘http://192.168.43.250:9200/store/books/1’