es基本语句详解 查询语句详解

  • 声明
  • Rest风格
  • 索引的基本操作
    • 1. 创建一个索引
    • 2. 查看索引 我们使用elasticsearch-head
    • 3. 删除索引
    • 其它命令
  • ==文档的基本操作(重点)==
    • 添加数据
    • 修改文档
    • 删除文档
    • 查找(重重重点)
      • 通过id查找
      • 通过某个字段查找
      • 指定条件查找
      • 结果过滤
      • 排序
      • 分页查询
      • 多条件或与非查找
      • 过滤器:范围查找
      • 精确查找
      • 高亮查询

声明

本文涉及的es, elasticsearch-head, kibana, ik分词器的安装配置可以参考我的其它博客
本文主要参考狂神说java视频课程编写。主要是为了巩固学习,复习方便。

Rest风格

索引的基本操作

1. 创建一个索引

PUT /索引名/(可选)类型名/文档id
{请求体}

2. 查看索引 我们使用elasticsearch-head



查看索引默认类型

到这里:完成了增加索引! 数据也成功的添加了

3. 删除索引

通过DELETE 命令实现删除,根据你的请求来判断删除索引还是删除文档记录

4. 创建索引类型mappings
我们创建时 创建了name类型,那需不需要指定类型呢。
下面是 es中的数据类型,我们可以不指定类型,es会帮我们默认选择类型

其它命令

  1. 查看健康状态
  2. 查看es中index索引, docs.count文档数量等信息

    通过GET _cat/ 可以获取es的当前的很多信息!
  3. 修改索引中的某个字段类型,
    1. 创建一个中间索引
    2. 向中间索引备份源索引的数据(mapping)
    3. 查询确认数据是否copy过去
    4. 删除有问题的索引
    5. 重新创建同名的索引(★字段类型修改正确★)
    6. 从中间索引还原到源索引的数据
    7. 删除中间索引

文档的基本操作(重点)

添加数据

修改文档

下面两种方法,会将文档中指定位置的值替换。没有传递的值会被置为空


推荐的方法:加update修改方法,只会修改提交的值,没有提交的值不会修改

删除文档

直接指定文档即可

查找(重重重点)

通过id查找

通过某个字段查找

指定条件查找

hit:索引和文档的信息,查询结果的总数,然后就是查询出来的具体的文档,数据中的东西都可以遍历出来了,包括分数score判断谁最符合结果

结果过滤

我们之后使用java操作es,所有的方法都是这里的key

排序

reason: 经过查证是字段col54类型为Text格式,然后涉及到了聚合排序等功能。没有进行优化,也类似没有加索引。没有优化的字段es默认是禁止聚合/排序操作的。所以需要将要聚合的字段添加优化
正确的

分页查询

分页查询 数据下标还是从0开始

多条件或与非查找

布尔值查询–多条件查询
must命令:所有的条件都要符合,and

should 或操作

must_not 非操作

过滤器:范围查找


lt : 小于
gt : 大于
lte : 小于等于
gte : 大于等于
匹配多个条件:
多条件使用空格进行分割就可以
只要满足其中一个就可以查出
可以根据权重分支score 判断

精确查找

term 查询是直接通过倒排索引指定的字条进程精确查找!

创建demo索引,一个是text类型,一个是keyword类型

使用keyword
使用standard 可以看到被拆分了
使用term
一下两个查询,第一个根据name 是txt类型。所以只要有一个值,就会被匹配到。
第二个是根据desc 是keyword类型。 必须完全匹配才可以查询到
得出结论:keyword字段类型不会被分词器解析
多个值匹配的精确查询

高亮查询


自定义查询

es基本语句详解 查询语句详解相关推荐

  1. mysql查询语句 变量_mysql查询语句中用户变量的使用

    先上代码吧 SELECT `notice`.`id` , `notice`.`fid` , `notice`.`has_read` , `notice`.`notice_time` , `notice ...

  2. oracle 数据语句优化,oracle 查询语句优化录

    最近,因为发现以前使用的数据查询语句的效率越来越差,导致每次进行大量数据的操作都需要耗一个小时以上.这速度实在是太龟慢了,简直是无法忍受了.本人决定亲自拿把杀猪刀砍向它,好给它颜色瞧瞧.经过一系列的测 ...

  3. java mysql语句_java mysql查询语句怎么写

    展开全部 1:使用SHOW语句找出在服务器上当前存在什么数据32313133353236313431303231363533e4b893e5b19e31333363373766库: mysql> ...

  4. Oracle常用语句:分页查询语句的写法

    Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用. ...

  5. hive 语句总结_HiveQL查询语句总结

    本文写作目的是整理出一份带注释的cheatsheet.内容组织形式为查询语句,实例,原理浅析. 基本查询语句 show databases; create database retail; use r ...

  6. java oracle分页查询语句_oracle分页查询语句,java得到分页查询语句的方法

    oracle分页查询语句 select * from ( select a.*, rownum rn from (select * from table_name) a where rownum &l ...

  7. mysql 子表 关联查询语句_MySQL-基本查询语句及方法,连表和子查询

    一.基本查询语句 create table emp( id intnotnull unique auto_increment, name varchar(20) notnull, sex enum(' ...

  8. Mysql 子查询 (查询语句中带查询语句)

    子查询:指一个"正常查询语句"中的某个部分(比如select部分,from 部分,where 部分)又出现了查询的一种查询形式,比如: select * from 表名 where ...

  9. MySQL中SQL语句——DQL(数据查询语句)

    前言: 首先对于数据库有一定的了解,会对于Mysql的学习有一定的帮助: 数据库主要分为 DB(数据库),DBMS(数据库管理系统),SQL(结构化查询语言,用于和DBMS通信的语言):这篇要讲的DQ ...

最新文章

  1. 验证身份证和中文名字
  2. 随着“造车时代”的企业网络推广之下,富士康也想入圈造车?
  3. 2021年春节联欢晚会第三次联排亮点多
  4. 第八周实践项目6 猴子选大王(数组版)
  5. DevExpress控件之GridControl、GridView
  6. CVPR 2019 | 基于可解释性以及细粒度的可视化解释卷积神经网络
  7. 监视和检测Java应用程序中的内存泄漏
  8. Adob Flash Professional CS6发布Android手机应用报异常
  9. python selenium 小知识点整理笔记(更新中...)
  10. jqueryui / accordion的用法记录
  11. 同步时序逻辑与异步时序逻辑
  12. 用perl操作excel的介绍
  13. Apache 配置文件:.htaccess
  14. java nio oio_(三:NIO系列) Java NIO Channel
  15. MATLAB画图线性,颜色和数据点
  16. 前后端数据交互(八)——请求方法 GET 和 POST 区别
  17. 最新服务器节点,服务器emule必备知识(更新服务器列表与kad节点文件)
  18. 自发光物体能被烘焙之后是否会影响周围的物体
  19. Android -- 广播
  20. 游承超:钢化玻璃膜既保护屏幕又不影响触感(4P)

热门文章

  1. 奔驰c语言控制系统使用方法,奔驰GLE使用手册,别说你用不上,万一实现了呢!...
  2. 2021年全球密封玻璃收入大约340.6百万美元,预计2028年达到454.6百万美元
  3. 一起了解代驾出行综合运营方案解决服务商
  4. Docker推送镜像到私有仓库Harbor
  5. dubbo SPI是不是在炫技?
  6. 分类和聚类的区别以及各自的常见算法
  7. makefile文件编写
  8. 挂耳式耳机品牌排行榜,排行靠前的五款骨传导耳机推荐
  9. 【深度学习前沿应用】文本分类Fine-Tunning
  10. window权限 及c++实现 【网摘】