文章目录

  • 一、作者有话说
    • 1.1 专业术语(必须进行掌握)
      • 1.1.1 索引 index
      • 1.1.2 映射 mapping
      • 1.1.3 字段 field
      • 1.1.4 术语 term
      • 1.1.5 文本 text
    • 1.2 操作工具为 elasticsearch head
  • 二、实际进行操作
    • 2.1 操作es的步骤
    • 2.1 使用自动创建的形式创建index
      • 2.1.1 常规操作创建格式: POST 索引/_doc
      • 2.1.2 查看 创建的索引和数据
    • 2.2 删除index
      • 2.2.1 删除格式: DELETE /索引
  • 三、从es head来看es的重要的搜索功能
    • 3.1 查找某个文档的全部内容 match_all
      • 3.1.1 查看全部格式: POST 索引/_search
    • 3.2 search的各种过滤,注意看每张图的区别
      • 3.2.1 match 全文匹配
      • 3.2.2 term 术语查询
      • 3.2.3 wildcard 通配符查询
      • 3.2.4 prefix 前缀查询
      • 3.2.5 fuzzy 模糊查询
      • 3.2.6 range 范围查询
      • 3.2.7 query_string 查询解析器
  • 四、结尾

一、作者有话说


本文为了更加详细的讲解elasticsearch的操作,全部都是根据官网一点点进行说明。有兴趣对官网进行阅读的同学,建议移步官网
https://www.elastic.co/guide/en/elasticsearch/reference/7.5/getting-started-index.html

1.1 专业术语(必须进行掌握)

专业术语对学一个中间件来说,是非常重要的,建议大家先了解以下的专业术语
https://blog.csdn.net/qq_34168515/article/details/108315484

本文只介绍几个常用的术语

1.1.1 索引 index

索引就像关系数据库中的表。它具有一个包含type的 映射,该type包含索引中的字段。

注意:因为从6.x开始,就不推荐使用type是,但是为了兼容以下版本,type统一为 _doc

1.1.2 映射 mapping

映射就像关系数据库中的架构定义。每个 索引都有一个映射,该映射定义一个type,以及许多索引范围的设置。

注意:mapping一旦生成之后,就无法进行修改了,除非重新建立一个新的索引,再拷贝过去

1.1.3 字段 field

一个文件包含字段或键-值对的列表。该值可以是简单(标量)值(例如,字符串,整数,日期),也可以是嵌套结构(如数组或对象)。字段类似于关系数据库中表中的列

1.1.4 术语 term

术语是在Elasticsearch中索引的精确值。该条款 foo,Foo,FOO是不等价的。可以使用术语查询来搜索术语(即精确值)。

1.1.5 文本 text

文本(或全文)是普通的非结构化文本,例如本段。默认情况下,文本将被分析为 term,这是索引中实际存储的内容。

文本字段需要在索引时进行分析才能作为全文搜索,并且全文查询中的关键字必须在搜索时进行分析以产生(和搜索)与索引时生成的词相同的术语。

1.2 操作工具为 elasticsearch head

界面

es head的下载方式,由于篇幅问题,请自行百度!!!!!!

二、实际进行操作


参考官方 rest-api操作

https://www.elastic.co/guide/en/elasticsearch/reference/7.9/rest-apis.html

2.1 操作es的步骤


2.1 使用自动创建的形式创建index


elasticsearch head操作

2.1.1 常规操作创建格式: POST 索引/_doc


格式:

POST 索引/_doc
{json方法体
}

案例,为索引为can123添加数据,不指定id,会自动增加id

POST can123/_doc
{"user" : "kimchy","createDate" : "2020-09-06 11:19:10","message" : "trying out Elasticsearch"
}

2.1.2 查看 创建的索引和数据

索引、索引对应的mapping,也就是数据库格式,都创建好了,我们查看一下

存在问题?由于createTime字段,是需要date时间格式的,但是mapping映射却是text格式,明显是不对,后续介绍如何进行处理


查看存入的数据

为了方便后续的测试,请添加多条数据

按照前面的例子进行增加

{"user":"dog","createDate":"2020-09-06 11:19:10","message":"four leg dog"}
{"user":"cat","createDate":"2020-09-06 11:19:10","message":"four leg cat"}
{"user":"frog","createDate":"2020-09-06 11:19:10","message":"four leg frog"}
{"user":"pig","createDate":"2020-09-06 11:19:10","message":"four leg pig"}
{"user":"duck","createDate":"2020-09-06 11:19:10","message":"two leg duck"}
{"user":"chick","createDate":"2020-09-06 11:19:10","message":"chick leg chick"}

2.2 删除index

  • 首先添加一个索引,方面后面删除
POST twitter/_doc/
{"user" : "kimchy","post_date" : "2009-11-15T14:12:12","message" : "trying out Elasticsearch"
}

2.2.1 删除格式: DELETE /索引

  • 删除索引格式:
DELETE /索引
  • 删除索引中的id格式
DELETE /索引/文档id
  • 删除索引为 twitter
DELETE /twitter/

三、从es head来看es的重要的搜索功能


3.1 查找某个文档的全部内容 match_all

3.1.1 查看全部格式: POST 索引/_search

  • 搜索格式
POST 索引/_search
  • 例如,搜索can123的所有数据
POST can123/_search

3.2 search的各种过滤,注意看每张图的区别

3.2.1 match 全文匹配

match和term的区别是,match查询的时候,elasticsearch会根据你给定的字段提供合适的分析器,而term查询不会有分析器分析的过程

查询 message 包含关键字dog的文档,ps: 注意和 term 的区别

查询 message 包含 red dog的文档,ps: 注意和 term 的区别

3.2.2 term 术语查询

term是代表完全匹配,即不进行分词器分析,文档中必须包含整个搜索的词汇

查询 message 包含关键字dog的文档,ps: 注意和 match 的区别

查询 message 包含 red dog的文档,ps: 注意和 match 的区别

结论:

  1. match进行分词器分析, 所谓的分词,就是把当前的value进行分词

  2. term是代表完全匹配,即不进行分词器分析

3.2.3 wildcard 通配符查询

类似正则表达式,可以对数据进行过滤查找

查找ck,如果正常的match是无法查找到的

采用通配符查询 *ck,就可以查找到

3.2.4 prefix 前缀查询

类似通配符查询,查找以xxx开头的关键字,参与倒排索引的每一个词查询前缀

3.2.5 fuzzy 模糊查询

在实际的搜索中,我们有时候会打错字,从而导致搜索不到。在Elasticsearch中,我们可以使用fuzziness属性来进行模糊查询,从而达到搜索有错别字的情形。

match查询具有“fuziness”属性。它可以被设置为“0”, “1”, “2”或“auto”。“auto”是推荐的选项,它会根据查询词的长度定义距离。

错别字模糊查询:那么它可以显示搜索的结果,这是因为我们能够容许两个编辑的错误。模糊性是拼写错误的简单解决方案,但具有很高的CPU开销和非常低的精度。

例如match查找 chack 是无法查询到的

但是使用fuzzy查找 chack是可以查找到 chick的

3.2.6 range 范围查询

范围查询,感觉非常好理解,就是 lt 小于某个范围, gt大于某个范围。

3.2.7 query_string 查询解析器

官方解释:使用具有严格语法的解析器,根据提供的查询字符串返回文档。

该查询使用语法根据操作符(如and或NOT)来解析和分割所提供的查询字符串。然后,查询在返回匹配的文档之前独立分析每个分割文本。

可以使用query_string查询创建包含通配符的复杂搜索、跨多个字段的搜索等等。虽然通用,但查询是严格的,如果查询字符串包含任何无效语法,则返回错误。

可以写正则表达式,或者使用or and 等对查询语句进行拼接,会更加灵活

同时查找 dog 和 cat

四、结尾


大部分的程序员,都是面向百度或者谷歌进行编程的,而网上的资料乱七八糟,有时候找起来让人难受,于是本人无偿进行资料收集的工作,大部分资料都是本人实打实收集的而且测试过,大家不用怀疑准确性,奈何能力有限,免于遗漏,希望读者可以在评论或者私信我,进行改正,大家一起为互联网技术做贡献。

========================

收集资料枯燥无味,如果本文对你有帮助,可以点个赞,这个也是对我最大的鼓励和赞许。

本人行不改名坐不改姓,潮汕的灿灿展

立志在互联网这一行,做出自己的贡献

========================

elasticsearch7.9操作必看结合官方文档 es head的操作必看 es增删改查全详解相关推荐

  1. python操作mysql的增删改查_详解使用pymysql在python中对mysql的增删改查操作(综合)...

    这一次将使用pymysql来进行一次对MySQL的增删改查的全部操作,相当于对前五次的总结: 先查阅数据库: 现在编写源码进行增删改查操作,源码为: #!/usr/bin/python #coding ...

  2. DOM操作(增删改查)详解

    一.DOM操作 1.DOM概念 当网页被加载时,浏览器会创建页面的文档对象模型DOM DOM:Document Object Model 注:DOM说明 在DOM中,每个东西都是节点: 文档本身就是一 ...

  3. mysql中括号_手把手教你看MySQL官方文档

    前言: 在学习和使用MySQL的过程中,难免会遇到各种问题.不知道当你遇到相关问题时会怎么做,我在工作或写文章的过程中,遇到不懂或需要求证的问题时通常会去查阅官方文档.慢慢的,阅读文档也有了一些经验, ...

  4. mysql官方文档中文版_手把手教你看MySQL官方文档

    前言: 在学习和使用MySQL的过程中,难免会遇到各种问题.不知道当你遇到相关问题时会怎么做,我在工作或写文章的过程中,遇到不懂或需要求证的问题时通常会去查阅官方文档.慢慢的,阅读文档也有了一些经验, ...

  5. Arthas 看了官方文档还不会用?进来了解一哈~

    前言 本文隶属于专栏<100个问题搞定Java虚拟机>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见100个问题搞定Java虚拟 ...

  6. 【Java 官方API】在哪里看JDK11官方文档

    Java® Platform, Standard Edition & Java Development Kit Version 11 API Specification https://doc ...

  7. [翻译]ElasticSearch官方文档-执行查询和过滤操作

    本文翻译自:www.elastic.co/guide/en/el- 本文是Elasticsearch的入门文档,将会介绍ElasticSearch中的查询操作和过滤操作. 执行查询 现在我们已经看到了 ...

  8. 提高编程水平的一段必经之路,研读官方文档

    刚才看了 论坛里 jinxfei 的十年总结(14):从CS转向BS, 说实话,大部分内容我没有太仔细的看,不过如下的一段引起了我的注意: 真正让我心里有底的,还是在看了官方文档之后:http://s ...

  9. Centos 7.6 服务器安装oracle 11gR2(参考官方文档)

    Centos 7.6 服务器安装oracle 11gR2 说来气人,项目需要所以得在服务器上安装Oracle. 像往常一样,打开浏览器 -> 搜索 - > 找博客 -> 安装. 但是 ...

最新文章

  1. 重磅:腾讯正式开源图计算框架Plato,十亿级节点图计算进入分钟级时代
  2. smo算法matlab实现
  3. JAVA对象通过jackson转成json格式,属性名首字母变成小写的解决方法
  4. win10 mysql 5.7.21_MySql 5.7.21免安装版本win10下的配置方法
  5. 从0到1入门Serverless
  6. echarts 默认显示图例_echarts图例组件点击显示功能(默认功能点击消失)
  7. POJ - 3436 ACM Computer Factory(最大流+输出残余网络)
  8. OFFICE2019精简安装D盘(包括Word、PPT、Excel,可根据需要调整)+VISIO2019+Mathtype7.4.0完美下载安装教程
  9. HTML+CSS+JS实现 ❤️ html5响应式图片轮播❤️
  10. 21.55万元起的“电影周边”!现代漫威联名钢铁侠车型开售
  11. 控制只读_用Python控制硬件44-四位半万用表UT61E
  12. String---Double 不依赖地域性的转换
  13. 高速PCB设计EMI之九大规则
  14. 【CASS精品教程】CASS9.1生成标准图幅案例教程
  15. 了解单反相机的自动对焦点
  16. Python内置函数及其用法
  17. su - root 和 su root 的区别
  18. java中前加加和后加加的案例
  19. 谷露Gllue联合领英LinkedIn,发布猎头行业中高端招聘大数据观察
  20. Clinical-grade computational pathology using weakly supervised deep learning on whole slide images

热门文章

  1. Linux入门和使用
  2. 10天学会英语常见词根后缀
  3. 接口和接口实现类,接口与抽象类
  4. 河北金融计算机网络基础在线6.1.3,2016秋大学计算机基础(河北金融学院)
  5. 家里 无线 硬盘 服务器,无线路由器 硬盘组云服务器
  6. 公众号redirect_url配置_Niushop微信支付配置、微信退款配置、微信转账配置操作流程...
  7. 使用NSIS制作安装包(1)
  8. 2022年高压电工找解析及高压电工实操考试视频
  9. vmware最小化安装
  10. Hadoop Applier