前言
服务器:CentOS-6.7

运行系统:windows10

JDK版本:1.8

Elasticsearch版本:5.6.6

插件:kibana、elasticsearch-head

工具:postman

一、集群
查看集群是否健康

GET /_cluster/health
二、节点
查看节点列表
后面加了 ?v 可以把表头给显示出来

GET /_cat/nodes?v

三、索引
1 查询索引
1.1 查询所有索引
GET /_cat/indices?v
1.2 查询单个索引的映射
GET /test_index/_mapping
2. 添加一个索引(通过mapping)
PUT /people
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  },
  "mappings": {
    "man": {
      "dynamic": "strict",
      "properties": {
        "name": {
          "type": "text"
        },
        "age": {
          "type": "integer"
        },
        "birthday": {
          "type": "date",
          "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
        },
        "address":{
          "dynamic": "true",
          "type": "object"
        }
      }
    }
  }
}
"dynamic": "strict"  表示如果遇到陌生field会报错

"dynamic": "true"   表示如果遇到陌生字段,就进行dynamic mapping

"dynamic": "false"   表示如果遇到陌生字段,就忽略

3. 删除索引
3.1 删除一个索引
DELETE /people
3.2 删除多个索引
DELETE /index_one,index_two
4. 添加字段映射
PUT /people/_mapping/man
{
"properties": {
"tags":{
"type": "text"
}
}
}
5. 索引的别名
5.1 创建索引的别名

PUT /test_index/_alias/test
5.2 查询索引的别名

GET /test_index/_alias/*
5.3 查询别名指向哪一个索引

GET /*/_alias/test
四、文档
1. 增加文档
1.1 自定义ID
可以自动创建索引、类型,自己定义一个id

PUT /people/man/1
{
"name": "叶良辰",
"country": "china",
"age": 25,
"birthday": "1993-01-01",
"desc": "叶良辰,本地人,狂妄自大,惹了他,会有一百种方法让你呆不下去!与赵日天是好基友,两个人风风火火闯九州"
}
1.2 随机生成ID
可以自动创建索引、类型,自动创建一个id

POST /people/man
{
"name": "叶良辰",
"country": "china",
"age": 25,
"birthday": "1993-01-01",
"desc": "叶良辰,本地人,狂妄自大,惹了他,会有一百种方法让你待不下去!与赵日天是好基友,两个人风风火火闯九州"
}
2. 修改文档
2.1全文修改
全文修改使用的是PUT命令,把所有字段都带上

PUT /people/man/1
{
"name": "叶良辰",
"country": "china",
"age": 25,
"birthday": "1993-01-01",
"desc": "叶良辰,本地人,狂妄自大,惹了他,会有一百种方法让你呆不下去!与赵日天是好基友,两个人风风火火闯九州"
}
2.2部分修改(partial update)
使用POST命令,里面使用doc修改某个字段值

POST /people/man/1/_update
{
  "doc": {
    "name": "zhangsan"
  }
}
2.3 通过脚本直接修改
POST /people/man/1/_update
{
"script": "ctx._source.age += 10"
}
或者

POST /people/man/1/_update
{
  "script": {
    "lang": "painless",
    "source": "ctx._source.age += 10"
  }
}
2.4 通过脚本的参数方式
POST /people/man/1/_update
{
  "script": {
    "lang": "painless",
    "source": "ctx._source.age = params.age",
    "params": {
      "age": 100
    }
  }
}
2.5 通过groovy脚本文件方式
首先在%ES_HOME%/config/scripts文件夹下面新建一个groovy文件,取名add-age.groovy

编辑文件,添加下列内容

ctx._source.age += param.num

执行下面的命令

POST /people/man/1/_update
{
"script": {
"lang": "groovy",
"file": "add-age",
"params": {
"num": 15
}
}
}
2.6 文档不存在时的修改(upsert)
在修改document的时候,如果该文档不存在,则使用upsert操作进行初始化

POST people/man/1/_update
{
"script": "ctx._source.age += 10",
"upsert": {
"age": 20
}
}
虽然用了+=,但是,上面的结果却是20,因为文档不存在,只是进行了初始化!

3. 删除文档
3.1 删除单个文档
DELETE /people/man/1
3.2 删除type下的所有文档
POST /people/man/_delete_by_query?conflicts=proceed
{
"query": {
"match_all": {}
}
}
4.查询文档
下面列举一些简单的查询,更高级的查询在第五部分做介绍

4.1 查询单个文档
GET /people/man/2
4.2 使用_mget批量查询文档
GET /_mget
{
"docs": [
{
"_index": "people",
"_type": "man",
"_id": 1
},
{
"_index": "people",
"_type": "man",
"_id": 2
}
]
}
index和type相同的时候,可以合并到一起:

GET /people/man/_mget
{
"docs": [
{
"_id": 1
},
{
"_id": 2
}
]
}
4.3 查询所有文档
方式一(简单查询):
GET /people/_search
方式二:
POST /people/_search
{
  "query": {
    "match_all": {}
  }
}
4.4 查询出某些字段内容
后面跟了 ?_source=field1,field2

GET people/man/_search?_source=name,country
{
"query": {
"match": {
"age": "25"
}
}
}
4.5 查询多个索引下的多个type
GET /index1,index2/type1,type2/_search
查询所有索引下的部分type

GET /_all/type1,type2/_search
4.6 模糊查询(全文搜索)
注意:下面的“叶良辰”会被拆分成:叶、良、辰,只要name里面包含这三个字的任意一个,都会被查询到!

另外,中英文搜索会不一样,中文是以一个汉字为单位,

英文默认以一个单词为单位进行拆分

POST /people/_search
{
  "query": {
    "match": {
      "name": "叶良辰"
    }
  },
  "sort": [
    {
      "birthday": {
        "order": "desc"
      }
    }
  ]
}

4.7 全文搜索的精准度
4.7.1 搜索结果中必须包括run、jump两种爱好

GET people/_search
{
"query": {
"match": {
"hobby": {
"query": "run jump",
"operator": "and"
}
}
}
}
4.7.2 使用百分比,搜索结果中必须包括6个爱好中的一半,也就是3个

GET people/_search
{
"query": {
"match": {
"hobby": {
"query": "run jump basketball football piano pingpang",
"minimum_should_match": "50%"
}
}
}
}
4.7.3 使用数量,搜索结果中必须包括3个爱好

GET people/_search
{
"query": {
"bool": {
"should": [
{"match": {
"hobby": "basketball"
}},
{"match": {
"hobby": "pingpang"
}},
{"match": {
"hobby": "piano"
}},
{"match": {
"hobby": "run"
}}
],
"minimum_should_match": 3
}
}
}

五、高级查询
由于内容比较多,篇幅比较大,这里把文章分为两部分,本文是简单的增删改查
————————————————
版权声明:本文为CSDN博主「前方一片光明」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_26230421/article/details/80366649

转载于:https://www.cnblogs.com/zeenzhou/p/11588505.html

使用kibana或postman操作Elasticsearch的常用命令相关推荐

  1. Elasticsearch系列——使用kibana或postman操作Elasticsearch的常用命令(一)

    前言 服务器:CentOS-6.7 运行系统:windows10 JDK版本:1.8 Elasticsearch版本:5.6.6 插件:kibana.elasticsearch-head 工具:pos ...

  2. 解析Redis操作五大数据类型常用命令

    摘要:分享经常用到一些命令和使用场景总结,以及对Redis中五大数据类型如何使用cmd命令行的形式进行操作的方法. 本文分享自华为云社区<Redis操作五大数据类型常用命令解析>,作者:灰 ...

  3. Linux文件操作四剑客常用命令

    find查找命令 find命令说明 Linux find命令用来在指定目录下查找文件 任何位于参数之前的字符串都将被视为欲查找的目录名 如果使用该命令时,不设置任何参数,则find命令将在当前目录下查 ...

  4. xshell 6 连接debian系统拒绝了密码_Xshell中操作Linux的常用命令,你知道几个?

    作为IT人员,想必都知道Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.Xshell作为专业的终端模拟器,可以用 ...

  5. Linux操作汇总(常用命令、vim)

    目录 linux目录架构 主要目录速查表 常用命令 ubuntu 软件操作命令 ssh与scp Vim操作 linux目录架构 在 Linux 下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录 ...

  6. 熟悉常用的HDFS操作(附录HDFS常用命令)

    文章目录 1. 学习目的 2. 学习内容 3. 实验一 3.1 追加文本 3.2 覆盖文本 3.3 脚本完成 4. 实验二 4.1 下载文件脚本 4.2 输出文件内容脚本 4.3 显示单个文件信息脚本 ...

  7. pg_dump转移数据操作步骤及常用命令;

    1.pg_dump 命令转移数据结构及数据 1.1 pg_dump 常用参数解释 1.pg_dump [选项]- [数据库名字]-f, --file=FILENAME 输出文件或目录名-F, --fo ...

  8. xshell中查找命令_Xshell中操作Linux的常用命令

    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.Xshell作为专业的终端模拟器,可以用来登录Linux,从而通 ...

  9. Ubuntu Kylin操作系统介绍及常用命令的使用

    介绍 知名Linux操作系统发行版Ubuntu发布了中国定制版的操作系统 -- UbuntuKylin (优麒麟系统).这是 Canonical 公司与我国工信部 CCN 开源创新联合实验室开发的. ...

最新文章

  1. 要想成功 需要了解的东西
  2. leetcode:图相关算法
  3. 移动端touch实现下拉刷新
  4. idea导包都报错_不仅仅要会导别人的包也要会导自定义的包——Python导包总结...
  5. (转)增强学习(二)----- 马尔可夫决策过程MDP
  6. Java读取文件方法大全
  7. ac管理器管理员密码忘记了_你应该使用密码管理器吗
  8. Briss-最好用的pdf裁边工具
  9. MSDN visual studio 2010简体中文旗舰版,专业版下载(内置正版密钥)
  10. 基频和倍频的概念_什么是基频,倍频,合频,泛频峰
  11. python泊松_python – 泊松过程的测试
  12. [渝粤教育] 南通大学 智能建造风险源与安全控制 参考 资料
  13. 在centos7 下安装python3.6
  14. facetime 来电提醒_Android版FaceTime应用程序? 这是一些适用于Android的替代视频通话应用程序。...
  15. 灯丝LED灯泡的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  16. 300大作战怎么在电脑上玩 300大作战电脑版玩法教程
  17. OSChina 周六乱弹 ——开发个专门用于拉shi的APP
  18. 电脑外接屏幕时“WindowsServer异常退出”
  19. 2019中科大数学考研复试题(回忆版)
  20. java pdf 页眉_java html模板 itext 生成pdf 页眉页脚 合并pdf列子

热门文章

  1. “□” 表情无法在 Android 设备显示? 快试试 EmojiCompact 表情兼容库
  2. 想提高用户访问的响应速度和成功率还不赶快学习CDN
  3. No style sheet with given id found错误
  4. 兼容所有浏览器的网页制作方法
  5. 第三方类库的学习心态
  6. oracle实例与数据库
  7. 伯努利分布方差_统计分布--深入浅出统计学总结
  8. git add 撤销_更科学地管理你的项目,Git 简明教程(二)
  9. java简单纸牌游戏_活动回顾 | 畅玩法语纸牌游戏
  10. mpi4py linux例子,python-3.x – mpi4py中的共享内存