ES数据库的基本常识
关系型数据库(比如Mysql) |
非关系型数据库(Elasticsearch) |
数据库Database |
索引Index |
表Table |
类型Type |
数据行Row |
文档Document |
数据列Column |
字段Field |
约束 Schema |
映射Mapping |
1、查询全部索引
GET _cat/indices?v
2、查询数据
2.0、id查询
GET /索引名/类型名/文档Document ID
2.1、条件查询
查询name="张三"的数据
GET /索引名/类型名/_search { "query":{ "match":{ "name":"张三" } } }
2.2、过滤显示字段
使用"_source":["name","age"],过滤只显示name,age字段
GET /索引名/类型名/_search { "query":{ "match":{ "name":"张三" } }, "_source":["name","age"] }
2.3、结果排序
使用"sort",age倒序排序
GET /索引名/类型名/_search { "query":{ "match":{ "name":"张三" } }, "sort":{ "age":{ "order":"desc" } } }
2.4、And查询(must)
查询name = 张三 且 age = 18
GET /索引名/类型名/_search
{ "query": { "bool": { "should": [ { "match": { "name": "张三" } }, { "match": { "age": 18 } } ] } } }
2.5、Not查询(must_not)
查看name != 张三 且 age != 18
GET /索引名/类型名/_search { "query": { "bool": { "must_not": [ { "match": { "name": "张三" } }, { "match": { "age": 18 } } ] } } }
2.6、范围查询(filter)
查询name = 张三 且 18=< age >= 23
GET /索引名/类型名/_search { "query": { "bool": { "must": [ { "match": { "name": "张三" } } ], "filter": [ { "range": { "age": { "gte": 18, "lte": 23 } } } ] } } }
2.7、数组内多条件查询
查询tags数组内两个值为“学习”,“喝酒”
"tags":["学习","喝酒"]
GET /索引名/类型名/_search { "query": { "match": { "tags": "喝酒 学习" } } }
3、修改文档数据
修改name = 张无忌
POST /索引名/类型名/文档Document ID/_update { "doc": { "name": "张无忌" } }
4、插入数据
POST /索引名/类型名/ { "ip": "172.16.12.85", "timestamp": "1676081759" }
5、更新数据
修改ip = 172.16.12.88
POST /索引名/类型名/文档Document ID/_update { "doc":{ "ip": "172.16.12.88" } }
标签:name,GET,数据库,查询,索引,match,基本操作,age,es From: https://www.cnblogs.com/ai594ai/p/17111186.html