Elasticsearch入门

本文档详细介绍了Elasticsearch的安装步骤,包括下载、解压及启动服务。接着,讲解了如何进行索引操作,如创建、查看和删除索引。同时,阐述了文档操作,包括添加、修改和删除文档,以及映射操作和高级查询,如匹配查询、范围查询、模糊查询和聚合查询。此外,还涵盖了查询结果的排序、高亮和分页方法,为实际应用提供了全面的操作指导。
摘要由CSDN通过智能技术生成

目录

一、安装

二、基本操作

索引操作

文档操作(文档相当于表数据,向表中添加数据)

映射操作

高级查询


一、安装

1、进入官网下载安装包。开源搜索:Elasticsearch、ELK Stack 和 Kibana 的开发者 | Elastic

2、安装解压即可。

ES解压缩之后的目录结构如下:

双击elasticsearch.bat启动服务,然后在浏览器地址栏中输入127.0.0.1:9200

数据格式对比

二、基本操作

索引操作

  1. 创建索引(等同于创建数据库)

Put请求。http://127.0.0.1:9200/indexbase

注意

  1. 第一次启动elasticsearch.bat的时候需要以管理员身份运行。不然用postmat创建索引的时候会一直处于sending状态。
  2. 不能重复添加索引,会提示已存在。

2、查看索引

  • 查看单个索引:与创建索引的语法一样,但不是Put而是Get。

GET: http://127.0.0.1:9200/indexbase

3、删除索引

DELETE: http://127.0.0.1:9200/indexbase

文档操作(文档相当于表数据,向表中添加数据)

  • 创建文档

使用POST请求。POST: http://127.0.0.1:9200/indexbase/user

也可以使用PUT,但是必须自己声明唯一标识。PUT: http://127.0.0.1:9200/indexbase/user/myID1

  • 查看文档

GET: http://127.0.0.1:9200/indexbase/user/myID1

需要指明文档的唯一性标识。类似于mysql中数据的主键。

  •  修改文档
  • 和新增创建文档一样,根据请求体的内容进行覆盖。全部覆盖了。被替换了

POST: http://127.0.0.1:9200/indexbase/user/myID1

  1. 只修改某一个字段。_update。然后请求体的内容为

POST:http://127.0.0.1:9200/indexbase/user/myID1/_update

  • 删除文档

根据主键删除:DELETE: http://127.0.0.1:9200/indexbase/user/myID1

根据条件删除(可多条):POSThttp://127.0.0.1:9200/indexbase/_delete_by_query

映射操作

  • 创建映射

PUT: http://127.0.0.1:9200/indexbase/_mapping

  • 查看映射

GET:http://127.0.0.1:9200/indexbase/_mapping

高级查询

  • 查询所有文档(query)

GET: http://127.0.0.1:9200/indexbase/user/_search

Match_all代表查询所有

  • 匹配查询

GET: http://127.0.0.1:9200/indexbase/user/_search

  • 多个字段中查询

GET: http://127.0.0.1:9200/indexbase/user/_search

  • Term查询:精确的关键字匹配查询,不对查询条件进行分词。

GET http://127.0.0.1:9200/indexbase/user/_search

  • Terms 多关键字精确查询,terms和term查询一样,但它允许你指定多值进行匹配。如果这个字段包含了指定值中的如何一个值,那么这个文档满足条件,类似于mysql的in。

Get: http://127.0.0.1:9200/indexbase/user/_search

  • 指定查询条件

默认情况下_source的所有字段都返回。如果我们只想获取其中的部分字段,可以添加_source的过滤。

GET: http://127.0.0.1:9200/indexbase/user/_search

  • 过滤字段

Includes:指定想要显示的字段。

Excludes:指定不想要显示的字段。

GET: http://127.0.0.1:9200/indexbase/user/_search

  • 组合查询

‘bool’把各种其他查询通过’must(必须)’、’must_not(必须不)’、’should(应该)’的方式进行组合。

  • 范围查询(range)

Rang:查询找出那些落在指定区间内的数字或者时间。

Gt大于get大于等于lt小于lte小于等于

GET:http://127.0.0.1:9200/indexbase/user/_search。查询年龄大小30岁的

  • 模糊查询(fuzzy)

返回包含与搜索字词相似的字词的文档

编辑距离是将一个术语转换为另一个术语所需的一个字符更改的次数。

例如:

更改字符:box变成fox

删除字符:black变成lack

插入字符:sic变成sick

转置两个相邻字符:act变成cat。

GET: http://127.0.0.1:9200/indexbase/_search

获取响应结果

为了找到相似的术语,fuzzy查询会在指定的编辑距离内创建一组搜索词的所有可能的变体或扩展。然后查询返回每个扩展的完全匹配。

通过fuzziness修改编辑距离。一般使用默认AUTO,根据术语的长度生成编辑距离。

GET: http://127.0.0.1:9200/indexbase/_search

fuzziness:1,表示的是编辑距离为1。只能修改一次。

例如:对hat进行两次编辑可以得到mad。这里的fuzziness就是为2.

查看上面执行的响应结果

  • 排序

sort可以让我们按照不同的字段进行排序,并且通过order指定排序的方式。desc降序,asc升序。如果出现多个字段,则先按照前面的字段进行排序然后根据后面依次进行排序。

GET: http://127.0.0.1:9200/indexbase/_search

响应结果如下

  • 高亮

在进行关键字搜索时,搜索出的内容中的关键字会显示不同的颜色,称之为高亮。

ES可以对查询内容中的关键字部分进行标签和样式(高亮)的设置。

pre_tags:前置标签

post_tags:后置标签

fields:需要高亮的字段

GET: http://127.0.0.1:9200/indexbase/_search

  • 分页

from:当前页的起始索引,默认从0开始。from = (pageNum -1 ) * size

size:每页显示多少条

GET: http://127.0.0.1:9200/indexbase/_search

  • 聚合查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失忆机器

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值