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’