elasticsearch简单增删改查
2022/1/25 23:34:30
本文主要是介绍elasticsearch简单增删改查,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
创建索引
put http://localhost:9200/luoye/ Content-Type application/json { "settings": { "index": { "number_of_shards": "2", --分片数 "number_of_replicas": "0" --副本 } } } ----------------------------------------------------------------------- { "acknowledged": true, "shards_acknowledged": true, "indsex": "luoye" }
删除索引
Delete http://localhost:9200/luoye/ ----------------------------------------------------------------------- { "acknowledged": true }
插入数据
1.指定了id,方法用put和post都可以
put http://localhost:9200/luoye/people/01 { "name”":"kettle", "age":25, "wetchat":"1732650", "sex":"男", "Height":175.5 } ----------------------------------------------------------------------- { "_index": "luoye", "_type": "people", "_id": "01", "_version": 1, --版本 "result": "created", --创建,如果再执行会变成updated, vsesion 会变成2 "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 0, "_primary_term": 1 }
2.未指定id 方法必须用post
post http://localhost:9200/luoye/people { "name”":"落叶", "age":25, "wetchat":"17326504*", "sex":"男", "Height":175.5 } ----------------------------------------------------------------------- { "_index": "luoye", "_type": "people", "_id": "cMQ1kX4BOCtS3EjrIwsn", --随机生成的 "_version": 1, "result": "created", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 1, "_primary_term": 1 }
3.批量插入数据
post http://localhost:9200/luoye/people/_bulk {"create" :{ "_index":"luoye","_type":"people","_id":"2022"}} {"id":"2022","name”":"大哥哥","age": 25 ,"address":"深圳","wetchat":"17326","sex":"男"} {"create" :{ "_index":"luoye","_type":"people","_id":"2023"}} {"id":"2023","name”":"Henry","age":25 ,"address":"汕头","wetchat":"1732650","sex":"男"} {"create" :{ "_index":"luoye","_type":"people","_id":"2024"}} {"id":"2024","name”":"说好的幸福","age":25 ,"address":"深圳","wetchat":"17326504","sex":"男"} {"create" :{ "_index":"luoye","_type":"people","_id":"2025"}} {"id":"2025","name”":"痛怎么伪装","age":25 ,"address":"珠海","wetchat":"173265","sex":"男"} --这个后面要加\n --的换行符 ----------------------------------------------------------------------- { "took": 69, "errors": false, "items": [ { "create": { "_index": "luoye", "_type": "people", "_id": "2022", "_version": 1, "result": "created", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 5, "_primary_term": 1, "status": 201 } }, { "create": { "_index": "luoye", "_type": "people", "_id": "2023", "_version": 1, "result": "created", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 19, "_primary_term": 1, "status": 201 } }, { "create": { "_index": "luoye", "_type": "people", "_id": "2024", "_version": 1, "result": "created", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 20, "_primary_term": 1, "status": 201 } }, { "create": { "_index": "luoye", "_type": "people", "_id": "2025", "_version": 1, "result": "created", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 6, "_primary_term": 1, "status": 201 } } ] }
更新数据
1.全局更新,会直接覆盖之前的,方法可用put或者post
post/put http://localhost:9200/luoye/people/01 { "name”":"kettle", "age":25, "wetchat":"1732650", "sex":"男", "address":"深圳" -Height换成了address,后面再查询查不到Height,相当于删掉之前的,再换成现在的,只是id不变 } ----------------------------------------------------------------------- { "_index": "luoye", "_type": "people", "_id": "01", "_version": 3, --版本变化 "result": "updated", ---更新 "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 3, "_primary_term": 1 }
2.部分更新,方法 post/put都可以
post/put http://localhost:9200/luoye/people/01 { "doc":{ "name":"落叶", "age":25 } } ----------------------------------------------------------------------- { "_index": "luoye", "_type": "people", "_id": "01", "_version": 5, --版本 "result": "updated", --更新 "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 5, "_primary_term": 1 }
删除数据
1.单条数据删除
Delete http://localhost:9200/luoye/people/02 ----------------------------------------------------------------------- { "_index": "luoye", "_type": "people", "_id": "02", "_version": 2, "result": "deleted", --成功为deleted,不成功为not_found "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 2, "_primary_term": 1 }
2.批量删除
post http://localhost:9200/luoye/people/_bulk {"delete" :{ "_index":"luoye","_type":"people","_id":"2022"}} {"delete" :{ "_index":"luoye","_type":"people","_id":"2023"}} {"delete" :{ "_index":"luoye","_type":"people","_id":"2024"}} {"delete" :{ "_index":"luoye","_type":"people","_id":"2025"}} --这里同样要有个换行符\n ----------------------------------------------------------------------- { "took": 5, "errors": false, "items": [ { "delete": { "_index": "luoye", "_type": "people", "_id": "2022", "_version": 2, "result": "deleted", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 7, "_primary_term": 1, "status": 200 } }, { "delete": { "_index": "luoye", "_type": "people", "_id": "2023", "_version": 2, "result": "deleted", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 21, "_primary_term": 1, "status": 200 } }, { "delete": { "_index": "luoye", "_type": "people", "_id": "2024", "_version": 2, "result": "deleted", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 22, "_primary_term": 1, "status": 200 } }, { "delete": { "_index": "luoye", "_type": "people", "_id": "2025", "_version": 2, "result": "deleted", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 8, "_primary_term": 1, "status": 200 } } ] }
查询数据
1.直接查询
Get http://localhost:9200/luoye/people/01 ----------------------------------------------------------------------- { "_index": "luoye", "_type": "people", "_id": "01", "_version": 1, "_seq_no": 8, "_primary_term": 1, "found": true, ---存在 "_source": { "name”": "落叶", "age": 25, "wetchat": "17326504*", "sex": "男", "Height": 175.5 } } ----------------------------------------------------------------------- { "_index": "luoye", "_type": "people", "_id": "011", "found": false --- 不存在 }
2.获取全部数据
Get http://localhost:9200/luoye/people/_search ----------------------------------------------------------------------- { "took": 831, "timed_out": false, "_shards": { "total": 2, "successful": 2, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 3, "relation": "eq" }, "max_score": 1.0, "hits": [ { "_index": "luoye", "_type": "people", "_id": "b8QykX4BOCtS3EjrcwuQ", "_score": 1.0, "_source": { "name”": "kettle", "age": 25, "wetchat": "1732650", "sex": "男", "Height": 175.5 } }, { "_index": "luoye", "_type": "people", "_id": "cMQ1kX4BOCtS3EjrIwsn", "_score": 1.0, "_source": { "name”": "kettle", "age": 25, "wetchat": "1732650", "sex": "男", "Height": 175.5 } }, { "_index": "luoye", "_type": "people", "_id": "01", "_score": 1.0, "_source": { "name”": "落叶", "age": 25, "wetchat": "17326504*", "sex": "男", "Height": 175.5 } } ] } }
3.瘦身查询,有时我们不需要那么多字段,那么就可以指出只展现哪些字段就行
Get http://localhost:9200/luoye/people/_search?_source=name”,age,wetchat ----------------------------------------------------------------------- { "took": 1, "timed_out": false, "_shards": { "total": 2, "successful": 2, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 4, "relation": "eq" }, "max_score": 1.0, "hits": [ { "_index": "luoye", "_type": "people", "_id": "b8QykX4BOCtS3EjrcwuQ", "_score": 1.0, "_source": { "name”": "kettle", "age": 25, "wetchat": "1732650" } }, { "_index": "luoye", "_type": "people", "_id": "cMQ1kX4BOCtS3EjrIwsn", "_score": 1.0, "_source": { "name”": "kettle", "age": 25, "wetchat": "1732650" } }, { "_index": "luoye", "_type": "people", "_id": "01", "_score": 1.0, "_source": { "name”": "落叶", "age": 25, "wetchat": "17326504*" } }, { "_index": "luoye", "_type": "people", "_id": "_search ", "_score": 1.0, "_source": {} } ] } }
4.多个数据进行查询,某个数据不存在,不影响查询
post http://localhost:9200/luoye/people/_mget { "ids":["01","cMQ1kX4BOCtS3EjrIwsn","02"] --02数据就不存在,不影响 } ----------------------------------------------------------------------- { "docs": [ { "_index": "luoye", "_type": "people", "_id": "01", "_version": 1, "_seq_no": 8, "_primary_term": 1, "found": true, "_source": { "name”": "落叶", "age": 25, "wetchat": "17326504*", "sex": "男", "Height": 175.5 } }, { "_index": "luoye", "_type": "people", "_id": "cMQ1kX4BOCtS3EjrIwsn", "_version": 1, "_seq_no": 1, "_primary_term": 1, "found": true, "_source": { "name”": "kettle", "age": 25, "wetchat": "1732650", "sex": "男", "Height": 175.5 } }, { "_index": "luoye", "_type": "people", "_id": "02", "found": false } ] }
3.关键字搜索
方法1:
get http://localhost:9200/luoye/people/_search?q=name\”:落叶 --name“字段里面打多了一个中文的“所以加转义 ----------------------------------------------------------------------- { "took": 8, "timed_out": false, "_shards": { "total": 2, "successful": 2, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 1, "relation": "eq" }, "max_score": 1.2199391, "hits": [ { "_index": "luoye", "_type": "people", "_id": "01", "_score": 1.2199391, "_source": { "name”": "落叶", "age": 25, "wetchat": "17326504*", "sex": "男", "Height": 175.5 } } ] } }
这篇关于elasticsearch简单增删改查的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升