ElastICsearch的基本操作:增删改查,有必要了解,以备不时之需.
增删改查是数据库的基础操作方法。ES 虽然不是数据库,但是很多场合下,都被人们当做一个文档型 NoSQL 数据库在使用,原因自然是因为在接口和分布式架构层面的相似性。虽然在 Elastic Stack 场景下,数据的写入和查询,分别由 Logstash 和 Kibana 代劳,作为测试、调研和排错时的基本功,还是需要了解一下 ES 的增删改查用法的。
增加:
ES 的一大特点,就是全 RESTful 接口处理 JSON 请求。所以,数据写入非常简单:
#:curl -XPOST http://127.0.0.1:9200/crud-c/testlog -d '{
"date" : "3.1415926",
"user" : "BastRiven770",
"mesg" : "first message into Elasticsearch"
}'
具体的字段含义请看下面图解:
现在,我们打开ES-head插件就可以看见我们添加进去的数据了:
但是具体的数据详情需要看:
当然,这是使用了可视化工具查看
查看
在数据写入的时候,会返回该数据的 _id。这就是后续用来获取数据的关键:
curl -XGET http://127.0.0.1:9200/ http://127.0.0.1:9200/crud-c/testlog/AV5wElDCGrRExhjjUpZK
这个 _source 里的内容,正是之前写入的数据。
如果觉得这个返回看起来有点太过麻烦,可以使用
curl -XGET http://127.0.0.1:9200/crud-c/testlog/AV5wElDCGrRExhjjUpZK/_source
来指明只获取源数据部分。
删除
要删除数据,修改发送的 HTTP 请求方法为 DELETE 即可:
curl -XDELETE http://127.0.0.1:9200/crud-c/testlog/AV5wElDCGrRExhjjUpZK
当然,你也可以选择删除一个集合:
curl -XDELETE http://127.0.0.1:9200/crud-c*
表示删除crud-c下面的数据,包括crud-c.
更新
AV5wN1GxGrRExhjjUpZN
curl -XPOST http://127.0.0.1:9200/crud-c/testlog/AV5wN1GxGrRExhjjUpZN -d '{
"date" : "2.71828182",
"user" : "东华紫府少阳君",
"mesg" : "first message into Elasticsearch but version 2"}'
更新结果:
另一种是局部更新,使用 /_update 接口:
# curl -XPOST 'http://127.0.0.1:9200/crud-c/testlog/AV5wN1GxGrRExhjjUpZN/_update' -d '{
"doc" : {
"user" : "DW07"
}
}'
同样是可以更新的.
ElastICsearch的基本操作就这样说完了.