CRUD(Create, Retrieve, Update, Delete)是数据库系统的四种基本操作,分别表示创建、查询、更改、删除,俗称“增删改查”。Elasticsearch作为NoSQL数据库(虽然ES是为搜索引擎而生的,但我更愿意将其看作带有强大文本搜索功能的NoSQL)。
用Mysql这样的数据库存储就会容易想到建立一张User表,有balabala的字段等,在Elasticsearch里这就是一个文档,当然这个文档会属于一个User的类型,各种各样的类型存在于一个索引当中。这里有一份简易的将Elasticsearch和关系型数据术语对照表:
关系数据库 ⇒ 数据库 ⇒ 表 ⇒ 行 ⇒ 列(Columns)Elasticsearch ⇒ 索引(Index) ⇒ 类型(type) ⇒ 文档(Docments) ⇒ 字段(Fields)
PUT 192.168.56.120:9200/mydemo
{"setting":{"index":{"number_of_shards":5,"number_of_replicas":1}},"mappings":{"userinfos":{"properties":{"userid":{"type":"integer"},"username":{"type":"text"},"birthday":{"type":"date","format":"yyyy-MM-dd||yyyy-MM-dd HH:mm:ss"},"say":{"type":"text"},"jobtime":{"type":"integer"}}}}
}
DELETE ip:9200/索引名
POST 192.168.56.120:9200/mydemo/userinfos/_mapping{"userinfos":{"properties":{"aliasName":{"type":"text"}}}
}
POST 192.168.56.120:9200/mydemo/userinfos/ //随机出id
{"aliasName":"峨眉师太","username":"周芷若","userid":1,"birthday":"1462-9-8","say":"峨嵋剑法,九阴真经","jobtime":18
}192.168.56.120:9200/mydemo/userinfos/2 //数字是默认id
{"aliasName":"少林方丈","username":"玄慈","userid":2,"birthday":"1462-9-8","say":"易筋经,少林达摩棍","jobtime":68
}
POST 192.168.56.120:9200/mydemo/userinfos/1GHho24B-NsCrJJ68lSr/_update
// 1GHho24B-NsCrJJ68lSr 为id
{"doc":{"aliasName":"魔教教主","username":"张无忌"}
}
DELETE 192.168.56.120:9200/mydemo/userinfos/1GHho24B-NsCrJJ68lSr
// 1GHho24B-NsCrJJ68lSr 为id
GET 192.168.56.120:9200/mydemo/userinfos/1WHio24B-NsCrJJ6a1TJ
```bash
GET 192.168.56.120:9200/mydemo/userinfos/_search{"query":{"match":{"username":"玄"}}
}
GET 192.168.56.120:9200/dem/students/_search{"query":{"match_phrase":{"skill":"java javascript"}}
}GET
GET 192.168.56.120:9200/dem/students/_search{"query":{"multi_match":{"query":"java","fields":["stuname","skill"] // 分开的词汇是 or 关系}},"from":0,"size":1
}
{"aggs":{"group_by_age":{"terms":{"field":"stuage"}}}
}
{"aggs":{"group_by_age":{"avg":{"field":"stuage"}}}
}{"aggs":{"group_by_age":{"stats":{"field":"stuage"}}}
}
GET 192.168.56.120:9200/dem/students/_search{"query":{"query_string":{"fields":["skill"],"query":"java AND vue" // 词汇是 and 关系 与}}
}{"query":{"query_string":{"fields":["skill"],"query":"(NOT javascript) AND mysql"}}
}
GET 192.168.56.120:9200/dem/students/_search{"query":{"range":{"stuage":{"gte":18,"lte":23}}}
}
GET 192.168.56.120:9200/dem/students/_search
{"query":{"bool":{"filter":{"term":{"stubir":"1997-3-6"}}}}
}
此方法5.0 版本后不支持多列查询
{"query":{"bool":{"should":[{"match":{"stuage":21}},{"match":{"stuage":21}}]}}
}
本文发布于:2024-01-28 08:57:15,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064034396269.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |