ElasticSearch7.2简单命令实操(postman版)
使用postman访问操作ElasticSearch数据库,数据格式均为json
一、集群设置
1、查看集群设置
GET http://elasticsearch-1:9200/_cluster/settings
2、修改集群设置-自动创建索引
当auto_create_index=false时,指定⼀个不存在的索引,新增文档会报错。
当auto_create_index=true时,指定⼀个不存在的索引,新增⽂档成功,并且会创建这个不存在的索引
PUT http://elasticsearch-1:9200/_cluster/settings
{
"persistent": {
"action.auto_create_index": "false"
}
}
二、索引操作-index
1、创建索引
PUT http://elasticsearch-1:9200/nba
{
"mappings": {
"properties": {
"name": {
"type": "text"
},
"team_name": {
"type": "text"
},
"position": {
"type": "text"
},
"play_year": {
"type": "long"
},
"jerse_no": {
"type": "keyword"
}
}
}
}
2、获取索引
GET http://elasticsearch-1:9200/nba
3、关闭索引
POST http://elasticsearch-1:9200/nba/_close
4、删除索引
DELETE http://elasticsearch-1:9200/nba/
三、映射操作-mapping
1、创建映射
PUT http://elasticsearch-1:9200/nba/_mapping
{
"properties": {
"name": {
"type": "text"
},
"team_name": {
"type": "text"
},
"position": {
"type": "keyword"
},
"play_year": {
"type": "keyword"
},
"jerse_no": {
"type": "keyword"
},
"country":{
"type": "keyword"
}
}
}
2、获取映射
GET http://elasticsearch-1:9200/nba/_mapping
四、文档操作-doc
1、新增文档-指定ID
PUT http://elasticsearch-1:9200/nba/_doc/3
{
"name": "詹姆斯",
"team_name": "湖⼈",
"position": "⼩前锋",
"play_year": 15,
"jerse_no": "23"
}
2、新增文档-不指定ID
POST http://elasticsearch-1:9200/nba/_doc
{
"name":"哈登",
"team_name":"⽕箭",
"position":"得分后卫",
"play_year":"10",
"jerse_no":"13",
"country":"庞各庄"
}
3、获取文档-byId
GET http://elasticsearch-1:9200/nba/_doc/1
4、新增文档-指定操作类型
生产过程当中根据业务去添加指定类型,防止数据重复,保证数据唯一性
PUT http://elasticsearch-1:9200/nba/_doc/1?op_type=create
{
"name":"哈登",
"team_name":"⽕箭",
"position":"得分后卫",
"play_year":"10",
"jerse_no":"13"
}
5、获取文档-all
方式1:
http://elasticsearch-1:9200/_mget
{
"docs": [
{
"_index": "nba",
"_type": "_doc",
"_id": "1"
},
{
"_index": "nba",
"_type": "_doc",
"_id": "sBwWSW4BSS1Cuk2FoD69"
}
]
}
方式2:
http://elasticsearch-1:9200/nba/_mget
{
"docs": [
{
"_type": "_doc",
"_id": "1"
},
{
"_type": "_doc",
"_id": "2"
}
]
}
方式3:
http://elasticsearch-1:9200/nba/_docs/_mget
{
"docs": [
{
"_id": "1"
},
{
"_id": "2"
}
]
}
方式4:
http://elasticsearch-1:9200/nba/_docs/_mget
{
"ids": [
"1",
"sBwWSW4BSS1Cuk2FoD69"
]
}
6、修改文档-整条数据更新
POST http://elasticsearch-1:9200/nba/_update/2
{
"doc": {
"name": "库⾥",
"team_name": "勇⼠",
"position": "控球后卫",
"play_year": 10,
"jerse_no": "30",
"title": "The best 3-points shooter is Curry!"
}
}
7、新增字段
POST http://elasticsearch-1:9200/nba/_update/1
{
"script": "ctx._source.age = 18"
}
8、更新指定文档字段
POST http://elasticsearch-1:9200/nba/_update/1
{
"script": {
"source": "ctx._source.age += params.age",
"params": {
"age": 4
}
}
}
9、删除字段
POST http://elasticsearch-1:9200/nba/_update/1
{
"script": "ctx._source.remove(\"age\")"
}
10、upsert
upsert 当指定的⽂档不存在时,upsert参数包含的内容将会被插⼊到索引中,作为⼀个
新⽂档;如果指定的⽂档存在,ElasticSearch引擎将会执⾏指定的更新逻辑。
POST http://elasticsearch-1:9200/nba/_update/3
{
"script": {
"source": "ctx._source.allstar += params.allstar",
"params": {
"allstar": 4
}
},
"upsert": {
"allstar": 1
}
}
11、删除文档-byId
DELETE http://elasticsearch-1:9200/nba/_doc/3
五、搜索
1、term(词条)查询-精确查询
GET http://elasticsearch-1:9200/nba/_search
词条查询:词条查询不会分析查询条件,只有当词条和查询字符串完全匹配时,才匹配搜索。
单条查询:
{
"query": {
"term": {
"jerse_no": "23"
}
}
}
多条查询:
{
"query": {
"terms": {
"jerse_no": [
"23",
"13"
]
}
}
}
2、match_all全文查询-单字段查询
GET http://elasticsearch-1:9200/nba/_search
full text(全⽂)查询
全⽂查询:ElasticSearch引擎会先分析查询字符串,将其拆分成多个分词,只要已分析的字段中包含词条的任意⼀个,或全部包含,就匹配查询条件,返回该⽂档;如果不包含任意⼀个分词,表示没有任何⽂档匹配查询条件。
注意:每次搜索默认查询出10条,可以通过from和size设定从第几条开始查询初多少条。也就是分页
无条件全量查询:
{
"query": {
"match_all": {}
},
"from": 0,
"size": 100
}
根据查询条件分词查询:
{
"query": {
"match": {
"name": "库baby"
}
},
"from": 0,
"size": 100
}
3、multi_match全文查询-多字段查询
一个参数在多个字段中查询,字段拼接为or,非and。也就是 title='shooter' or name='shooter'
GET http://elasticsearch-1:9200/nba/_search
{
"query": {
"multi_match": {
"query": "shooter",
"fields": [
"title",
"name"
]
}
}
}
4、match_phrase(词条)-精确查询
GET http://elasticsearch-1:9200/nba/_search
{
"query": {
"match_phrase": {
"position": "得分后"
}
}
}
5、match_phrase_prefix(词条)-左前缀查询
GET http://elasticsearch-1:9200/nba/_search
{
"query": {
"match_phrase_prefix": {
"title": "the best s"
}
}
}
六、分词器
1、standard-analyzer:默认,标准分词器
标准分析器是默认分词器,如果未指定,则使⽤该分词器。
POST http://elasticsearch-1:9200/_analyze
{
"analyzer": "standard",
"text": "The best 3-points shooter is Curry!"
}
2、simple-analyzer:简单分词器
simple 分析器当它遇到只要不是字⺟的字符,就将⽂本解析成term,⽽且所有的term都是⼩写的。
POST http://elasticsearch-1:9200/_analyze
{
"analyzer": "simple",
"text": "The best 3-points shooter is Curry!"
}
3、whitespace-analyzer:空白字符分词器
whitespace 分析器,当它遇到空⽩字符时,就将⽂本解析成terms
POST http://elasticsearch-1:9200/_analyze
{
"analyzer": "whitespace",
"text": "The best 3-points shooter is Curry!"
}
4、stop-analyzer
stop 分析器 和 simple分析器很像,唯⼀不同的是,stop分析器增加了对删除停⽌词的⽀持,默认使⽤了english停⽌词
stopwords 预定义的停⽌词列表,⽐如 (the,a,an,this,of,at)等等
POST http://elasticsearch-1:9200/_analyze
{
"analyzer": "stop",
"text": "The best 3-points shooter is Curry!"
}
5、language-analyzer:语言分词器
(特定的语⾔的分词器,⽐如说,english,英语分词器),内置语⾔:arabic, armenian,basque, bengali, brazilian, bulgarian, catalan, cjk, czech, danish, dutch, english, finnish,french, galician, german, greek, hindi, hungarian, indonesian, irish, italian, latvian,lithuanian, norwegian, persian, portuguese, romanian,russian, sorani, spanish,swedish, turkish, thai)
POST http://elasticsearch-1:9200/_analyze
{
"analyzer": "english",
"text": "The best 3-points shooter is Curry!"
}
6、pattern-analyzer:正则分词器
⽤正则表达式来将⽂本分割成terms,默认的正则表达式是\W+(⾮单词字符)
POST http://elasticsearch-1:9200/_analyze
{
"analyzer": "pattern",
"text": "The best 3-points shooter is Curry!"
}
7、IK-analyzer:推荐使用
POST http://elasticsearch-1:9200/_analyze
{
"analyzer": "ik_max_word",
"text": "2019年双十一再一次证明中国老百姓的财富时取之不尽用之不竭的"
}
8、创建索引时-设置分词器
PUT http://elasticsearch-1:9200/analyzer_index
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"type": "whitespace"
}
}
}
},
"mappings": {
"properties": {
"name": {
"type": "text"
},
"team_name": {
"type": "text"
},
"position": {
"type": "text"
},
"play_year": {
"type": "long"
},
"jerse_no": {
"type": "keyword"
},
"title": {
"type": "text",
"analyzer": "my_analyzer"
}
}
}
}
ElasticSearch7.2简单命令实操(postman版)的更多相关文章
- MyBatis实操进阶版(一)
MyBatis实操进阶版(一) 目前而言,持久层框架中,在业务实现灵活性上,无可出MyBatis之右者.具体原因,后续将逐步展开 ResultMap元素的设置 配置文件中,ResultMap元素的作用 ...
- Docker安装MySql完整教程、实操
docker:官网 docker:镜像官网: 镜像官网可以所有应用,选择安装环境:会给出安装命令,例如:docker pull redis 默认拉取最新的版本(指定版本:docker p ...
- 生产环境搭建高可用Harbor(包括恢复演练实操)
生产环境搭建高可用Harbor(包括恢复演练实操) 前言 因资源成本问题,本Harbor高可用架构为最小开销方案,如果资源充足,可以将PG.Redis全部使用使用云厂商集群模式. 同时为了配置简单,并 ...
- Selenium之unittest测试框架详谈及实操
申明:本文是基于python3.x及selenium3.x. unittest,也可以称为PyUnit,可以用来创建全面的测试套件,可以用于单元自动化测试(模块).功能自动化测试(UI)等等. 官方文 ...
- QVM 实操记 - 18.12.28
视频回放地址:https://i.iamlj.com/mp4/QVM-IMC-12.27-1080P.mp4 目录 目录 常规开发部署流程 准备工作 开发准备 网站部署 操作步骤 重装系统 LANP环 ...
- Linux基础实操六
实操一: 临时配置网络(ip,网关,dns)+永久配置 #ifconfig ens33 192.168.145.134/24 #vim /etc/resolv.conf #route add defa ...
- HDFS集群PB级数据迁移方案-DistCp生产环境实操篇
HDFS集群PB级数据迁移方案-DistCp生产环境实操篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 用了接近2个星期的时间,终于把公司的需要的大数据组建部署完毕了,当然,在部 ...
- 动手实操:如何用 Python 实现人脸识别,证明这个杨幂是那个杨幂?
当前,人脸识别应用于许多领域,如支付宝的用户认证,许多的能识别人心情的 AI,也就是人的面部表情,还有能分析人的年龄等等,而这里面有着许多的难度,在这里我想要分享的是一个利用七牛 SDK 简单的实现人 ...
- 百度NLP预训练模型ERNIE2.0最强实操课程来袭!【附教程】
2019年3月,百度正式发布NLP模型ERNIE,其在中文任务中全面超越BERT一度引发业界广泛关注和探讨.经过短短几个月时间,百度ERNIE再升级,发布持续学习的语义理解框架ERNIE 2.0,及基 ...
随机推荐
- Spark内核-Spark Shuffle 解析
作者:十一喵先森 链接:https://juejin.im/post/5e1c41c6f265da3e152d1e62 来源:掘金 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. ...
- 作为Java新手,如何才能快速的看透一个Java项目?
前言 技术学习是一个总结.纠错.触类旁通的过程,而不是单纯重复练习的过程,如果你问一个做过5年以上Java的老码农,他们很多人都会有很强的"搬砖感",这种"搬砖感&quo ...
- Python学习之多项式回归
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 线性回归的改进版本中的多项式回归.如果您知道线性回归,那么对您来说很简单.如果没有,我将在本文中解释 ...
- [C#] (原创)进度等待窗口(附:自定义控件的使用)
一.前言 技术没有先进与落后,只有合适与不合适. 在程序当中,经常有耗时较长的操作,为了给用户更好的体验,就需要给用户一个及时的反馈,这种时候就需要用到进度等待窗口. 实现进度等待窗口的技术有很多,比 ...
- 在 WSL Ubuntu 上使用 .NET 进行跨平台开发新手入门
翻译自 haydenb 2020年6月3日的文章<Getting started with cross-platform development using .NET on Ubuntu on ...
- 让API并行调用变得如丝般顺滑的绝招
当数据量较大的时候,都会通过分库分表来拆分,分担读写的压力.分库分表后比较麻烦的就是查询的问题,如果不是直接根据分片键去查询的话,需要对多个表进行查询. 在一些复杂的业务场景下,比如订单搜索,除了订单 ...
- 【mybatis-plus】条件查询
用mp也可以方便的实现稍复杂点的条件查询,当然了很复杂的就还是要xml编写sql了. 一.wapper介绍 先看下mp的条件构造抽象类的结构: Wrapper: 条件构造抽象类,最顶端父类 Abstr ...
- 平滑算法:三次样条插值(Cubic Spline Interpolation)
https://blog.csdn.net/left_la/article/details/6347373 感谢强大的google翻译. 我从中认识到了航位推算dead reckoning,立方体样条 ...
- 如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
这可以使用 DEV 工具来实现.通过这种依赖关系,您可以节省任何更改,嵌入式 tomcat将重新启动.Spring Boot 有一个开发工具(DevTools)模块,它有助于提高开发人员的生产力.Ja ...
- WebService的简单Demo
看到招聘要求要会WebService.就百度看看是如何实现的. 测试了一下.发现使用webservice开发方法,好像方便了不少.服务端开发者只需要关注服务端就可以了. Demo结构 IWebServ ...