使用kibana或postman操作Elasticsearch的常用命令

前言
服务器: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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549466.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

asp.net 实现一级域名与二级域名共享COOKIE

COOKIE可以自动由子级域名分享,无须做什么特别设置。对网站www.abc.com,check.abc.com来说,它们都是二级域名,一级域名是abc.com。所以,保存COOKIE的时候,将Cookie的Domain设置成“.abc.com”,无…

32位单精度浮点乘法器的FPGA实现

摘 要: 采用Verilog HDL语言, 在FPGA上实现了32位单精度浮点乘法器的设计, 通过采用改进型Booth编码,和Wallace 树结构, 提高了乘法器的速度。本文使用Altera Quartus II 4.1仿真软件, 采用的器件是EPF10K100EQ 240 -1, 对乘法器进行了波形仿真, 并采用0.5CMOS工艺…

Elasticsearch修改字段之别名,扩展数据迁移

https://blog.csdn.net/amaranth__/article/details/84497075 转载于:https://www.cnblogs.com/zeenzhou/p/11588599.html

网工视频13第13章.计算机系统开发运行与配置疑难问题

网工视频请留下你的邮箱,我给你发邮件。转载于:https://blog.51cto.com/ricebetter2010/155609

ES 基本操作

0.查看集群是否健康GET /_cluster/health 1.查询所有索引GET /_cat/indices?v 2.查询单个索引的映射GET /index_trans_detail/_mapping 3.删除indexDELETE /index_trans_detail,index_two 4. 添加字段映射PUT /index_trans_detail/_mapping/type_trans_detail{ "properti…

我们的运动会

不久前,我们举办了微软中国研发集团的首届运动会。遗憾的是,当时我自己由于公务在身没能参加。事后同事们把许多精彩的图片与我分享,让我十分羡慕他们有机会大显身手,现在贴出来让大家看看他们的飒爽英姿,一睹为快。运…

ES建立索引步骤, 1,index 2.mapping 3,别名

1.建立索引PUT /index_trans_detail 2.建立mappingPOST /index_trans_detail/type_trans_detail/_mapping{ "type_trans_detail": { "properties": { "id": { "type": "long" }, "entId": { "type": &q…

java路径问题

Java路径 Java中使用的路径,分为两种:绝对路径和相对路径。具体而言,又分为四种: 一、URI形式的绝对资源路径 如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b URL是URI的特例。URL的前缀/协议,…

题解P1613跑路

今天没什么好说的那我就卖个萌吧(~ ̄▽ ̄)~ Luogu 一道思维题可能仅是对我来说,对于大佬们都是显然的 简化题意 给你一个图,找到一个路径,使其路径的二进制位中\(1\)的个数最少 分析 这题的题目就…

路由重分布列表控制例子

OSPF与RIP路由重分布配置,使用重分布列表,对分布的路由进行控制的配置如上例图所示:“RIP与OSPF路由重分布例子”switchA(config)#router ripswitchA(config-router)#network 192.168.10.0switchA(config-router)#network 192.168.20.0switch…

git随笔

repo init -u ssh://wangxygit.fd565.com:29418/Product/F3/Lichee.git rm .repo/ -rf rm ~/.ssh/* -rf ssh-keygen cat ~/.ssh/id_rsa.pu repo sync -j8 —————————————————————————————————————————————————————————…

F#入门书籍

作为 Microsoft .NET Framework 家族的新成员,F# 提供类型安全、性能以及类似脚本语言的工作能力,所有这些都是 .NET 环境的一部分。此函数式语言由 Microsoft 研究院的 Don Syme 发明,作为 CLR 的 OCaml 语法兼容变体,但 F# 已经…

OCP-052考试题库汇总(59)-CUUG内部解答版

In one of your databases: 1.USER1 and USER2 have no system privileges. 2.ROLE1 only has these privileges: ?CREATE SESSION ?CREATE TABLE ?CREATE VIEW Examine these commands: SQL> conn / as sysdba Connected. SQL> GRANT create table, role1 TO user1 W…

性能测试工具SilkPerformer介绍

SilkPerformer 是业界最强大,且最易用的企业级负载和强度测试解决方案,用于对关键任务应用的质量进行优化。SilkPerformer使用可视化脚本生成技术和对存在成千上万的并发用户的多个应用环境进行测试的能力,使您能够在企业应用部署之前&#x…

题解P3745期末考试

我太菜了,QAQ Luogu 简要分析 和洛谷的一篇分治的题解是一样的想法(是我看的她的),我只是一个更详细的代码解释,所以大家还是看洛谷题解吧 简要说一下。贪心的选取。在C花费多的情况下,若A比B花费多&#x…

pluto实现分析(22)

本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn: yfydz_no1hotmail.com来源:http://yfydz.cublog.cn18. 密钥处理pluto的配置文件中支持…

OCP-052考试题库汇总(60)-CUUG内部解答版

Examine these facts about a database: The database default tablespace to EXAMPLE. DEFERRED_SEGMENT_CREATION is TRUE (原来为 FALSE,题目有错) Examine these commands: SQL> CREATE USER user1 IDENTIFIED BY oracle_4U PASSWORD EXPIRE; User created. …

JavaScript tips and tricks - 4

JavaScript doesn’t have block scopeBlock doesn’t have scope in javascript, only function has scope. for(var i 0; i < 2; i ) { } i; // 2 If you want to create scope, use anonymous function: (function (){ for(var i 0; i < 2; i ) { } })(); typeof(i…

题解CF110E

感谢nofind大佬的推荐☆⌒(*&#xff3e;-゜)v nofind就是我男神&#xff0c;不接受反驳 大雾 CF110E Luogu 题意简述 大佬们自己看洛谷的题目就好了&#xff0c;写的既清楚又简短&#xff0c;我就不再赘述了其实就是自己懒 分析 一看到这个式子就知道不可以硬怼&#xff0c;又…

Office2010试用

昨天看到了Office的下载地址&#xff0c;就安装了一个试了试&#xff0c;总体感觉和Office2007变化不大&#xff0c;外观配色上看起来非常舒服&#xff0c;Aero效果用得更多了&#xff0c;具体功能改进还没有细研究&#xff08;其实一直感觉到了2003后的更新大都只是在界面和适…