Elasticsearch文档批量操作
Jeff的技术栈 人气:0Elasticsearch的文档操作
一 新增文档
#新增一个id为1的书籍(POST和PUT都可以) POST lqz/_doc/1/_create #POST lqz/_doc/1 #POST lqz/_doc 会自动创建id,必须用Post { "title":"红楼梦", "price":12, "publish_addr":{ "province":"黑龙江", "city":"鹤岗" }, "publish_date":"2013-11-11", "read_num":199, "tag":["古典","名著"] }
二 查询文档
#查询lqz索引下id为7的文档 GET lqz/_doc/7 #查询lqz索引下id为7的文档,只要title字段 GET lqz/_doc/7?_source=title #查询lqz索引下id为7的文档,只要title和price字段 GET lqz/_doc/7?_source=title,price #查询lqz索引下id为7的文档,要全部字段 GET lqz/_doc/7?_source
三 修改文档
#修改文档(覆盖修改) PUT lqz/_doc/10 { "title":"xxxx", "price":333, "publish_addr":{ "province":"黑龙江", "city":"福州" } } #修改文档,增量修改,只修改某个字段(注意是post) POST lqz/_update/10 { "doc":{ "title":"修改" } }
四 删除文档
#删除文档id为10的 DELETE lqz/_doc/10
五 批量操作之_mget
#批量获取lqz索引_doc类型下id为2的数据和lqz2索引_doc类型下id为1的数据 GET _mget { "docs":[ { "_index":"lqz", "_type":"_doc", "_id":2 }, { "_index":"lqz2", "_type":"_doc", "_id":1 } ] } #批量获取lqz索引下id为1和2的数据 GET lqz/_mget { "docs":[ { "_id":2 }, { "_id":1 } ] } #同上 GET lqz/_mget { "ids":[1,2] }
六 批量操作之 bulk
PUT test/_doc/2/_create { "field1" : "value22" } POST _bulk { "index" : { "_index" : "test", "_id" : "1" } } { "field1" : "value1" } { "delete" : { "_index" : "test", "_id" : "2" } } { "create" : { "_index" : "test", "_id" : "3" } } { "field1" : "value3" } { "update" : {"_id" : "1", "_index" : "test"} } { "doc" : {"field2" : "value2"} }
加载全部内容