Kibana界面的API操作ES

1.创建索引

1.1 指定分片数量和备份数量

1.2 创建默认

2. 查看索引

2.1 查看单个索引设置

2.2 查看所有索引设置

3.文档管理

3.1 添加文档

3.1.1 PUT

3.1.2 POST方式

可以不指定ID,会自动生成一个ID

3.2 查看文档

3.2.1 查看文档全部内容

3.2.2 查看文档部分内容

3.3 修改文档

3.3.1 PUT方式

覆盖

3.3.2 POST方式

只修改部分数据,而不是覆盖

3.4 删除文档

4. 删除索引

5.批量操作

5.1. _mget

5.1.1 同时获取多个文档

5.1.2 同时获取多个文档的部分内容

索引相同的话,可以简写为如下形式

5.2. _bulk

{action:{metadata}}
{requestbody}

action:(行为)

  • create:文档不存在时创建

  • update: 更新文档

  • index:创建新文档或替换已有文档

  • delete:删除一个文档

metadata:_index,_type,_id

5.2.1 创建

6. Query查询

6.1 简单查询

GET /lib3/user/_search?q=name:lisi

# 筛选出包含唱歌的,并且按照年龄从大到小排序
GET /lib3/user/_search?q=internets:changge&sort=age:desc
6.2 term查询和terms查询

会根据倒排索引寻找确切的term,并不知道分词器的存在,适合keywordnumericdate

6.3 match查询

知道分词器的存在,会对field进行分词操作,然后再查询

6.3.1 multi_match

可以从多个字段中筛选出query包含的词

6.3.2 match_phrase

短语匹配

6.4 wildcard查询

支持使用通配符*?来进行查询 *代表0或多个字符 ? 表示任意一个字符

GET /lib3/user/_search
{
"query": {
"wildcard": {
"name": "zhao*"
}
}
}

GET /lib3/user/_search
{
"query": {
"wildcard": {
"name": "zhaol?u"
}
}
}
6.5 fuzzy查询

实现模糊查询,只能少一个字符,多个字符依然无法查询到

高亮

筛选字段和高亮字段要一致

6.6 基于中文的查询

安装ik插件

ik_max_word : 会将文本做最细粒度的拆分;尽可能多的拆分出词语 ik_smart: 做最粗粒度拆分;已经被分出的词语不会再被其他词语占有

# 环境构建
PUT /lib4
{
"settings": {
"number_of_replicas": 1,
"number_of_shards": 5
},
"mappings": {
"user" :{
"properties": {
"name" : {"type": "text","analyzer": "ik_max_word"},
"address" : {"type": "text","analyzer": "ik_max_word"},
"age" : {"type": "integer"},
"internets" : {"type": "text", "analyzer": "ik_max_word"},
"birthday" : {"type" : "date"}
}
}
}
}

from:指定初始位置,size表示长度

6.7 指定返回字段
GET /lib4/user/_search
{
"_source": ["address","name"],
"query": {
"match": {
"internets": "唱歌"
}
}
}

# include 包含
GET /lib4/user/_search
{
"query": {
"match": {
"internets": "唱歌"
}
},
"_source": {
"includes": ["name","address"]
}
}
# 不包含
GET /lib4/user/_search
{
"query": {
"match": {
"internets": "唱歌"
}
},
"_source": {
"excludes": ["age","birthday"]
}
}

6.8 排序

6.9 范围筛选

默认值都为true,包含边界值 "include_lower" : false 不包含下边界 "include_upper" : false 不包含上边界

命令行式API操作

2.xx

curl -XPUT localhost:9200/lib -d'{"number_of_replicas": 1}'

6.xx

curl -X PUT "localhost:9200/lib/" -H 'Content-type: application/json' -d '
{
"settings" : {
"number_of_shards" : 5,
"number_of_replicas" : 1
}
}
'

  

最新文章

  1. MR21、MR22和CK24的区别
  2. protocol buffer c++ python库安装
  3. margin:0 auto 与 text-align:center 的区别
  4. java和Discuz论坛实现单点登录,通过Ucenter(用户管理中心)
  5. C# 加密算法
  6. JAVA WEB新进展
  7. easyui-lang-zh_CN.js导入后还是英文提示
  8. bt 介绍以及 bt 种子的hash值(特征值)计算
  9. 神经网络-SGD-2
  10. JDBC动态查询MySQL中的表(按条件筛选)
  11. Java基础 变量的作用域
  12. nested exception is org.apache.ibatis.reflection.ReflectionExceptio
  13. 使用Java HttpComponent/HttpClinet 调用 WebAPI问题的解决
  14. Cannot find module 'socket.io'
  15. mongodb基础学习13-聚集aggregate操作
  16. IndexOf、LastIndexOf、Substring的用法及C# foreach 中获取索引index的方法
  17. django基于cors做跨域处理
  18. 套接口socket编程(Client/Server编程实例)
  19. 如何修改mac 电脑的hosts 文件
  20. OpenCV学习(8) 分水岭算法(2)

热门文章

  1. 【数论】小A进学校
  2. PB笔记之导入、导出组件
  3. VS.NET(C#)--2.9_HTML服务器控件案例
  4. Saas软件更新以及小程序更新的教训
  5. centos7.x安装docker-ce
  6. 0-1背包问题——动态规划求解【Python】
  7. JDK反编译的两种方式
  8. dubbo API的使用方式
  9. 每日一题-——LeetCode(46)全排列
  10. Shell脚本字符串匹配及日常命令工具 - 用法总结(技巧指南)