首页 > 其他 > 详细

ElasticSearch 基本概念和基础操作

时间:2021-05-04 23:15:46      阅读:11      评论:0      收藏:0      [点我收藏+]

安装

  1. ElasticSearch -> 参考官方文档,下载压缩包解压即可使用
  2. ElasticSearch head → 相当于一个可视化工具,用来查看数据 -> 可以直接安装浏览器插件
  3. kibana (查询工具) -> 参考官方文档,下载压缩包解压即可使用
  4. ik 分词器(中文分词器) → GitHub 下载后直接下载放入 plugins 目录 → 在config目录下可以配置自己的词典

核心概念

关系型数据库 ElasticSearch
数据库 database 索引 index
表 table 类型 type
行 row 文档 document
字段 columns 字段 fields

集群

集群(cluster) 是一个或多个节点的集合。

节点

节点(node) 是一个 elasticsearch 的运行实例,也就是一个进程,多个节点组成集群,节点存储数据,并参与集群的索引、搜索和分析功能。

索引

索引(index) 是具有某种相似特性的文档集合。(我感觉索引更像是 MySQL 中的表的概念)特别是7.0版本取消了类型的概念,如果把文档看做一条数据,索引是拥有多个相同结构文档的集合,也就是表。

文档

文档(document) 是可以被索引的基本信息单元。JSON文档。

分片

分片是索引的水平拆分。当一个索引的数据量太大,可以把一个索引拆分成多个分片,每个分片本身都是具有完整功能的“独立索引”,可以分布在集群中的任何节点上。每个分片都是一个完整的 Lucene 索引。

一般在创建索引的时候就要预判分片数量并创建,分片的数量理论上不可变更,唯一的办法重建索引。

副本

每个分片都可以有一个或多个备份,分片的副本会部署在不同节点上,在分片或节点发生故障时提供高可用性。

副本也可以用于搜索,可以提高搜索性能和水平扩展吞吐量。类似于主从分离,一主多从。

分片和副本的区别和联系

  1. 本质上都是完整的 Lucenes 索引
  2. 假设一个索引定义了3个分片、2个副本,那么总共就有9个分片,其中3个主分片,每个分片有2个副本。主分片就是建立索引时首先建立的分片,或者说当主分片失效时会重新选择出一个副本作为主分片
  3. 当索引(插入数据)时,数据会首先到达主分片,然后再把请求分发到其他副本
  4. 当搜索(查询数据)时,主分片和副本都可以接受请求、搜索和分析数据,二者没有区别

技术分享图片

基础操作

关于索引的基本操作

创建索引并添加一个数据(这种创建方式貌似已经过时,type将在7.x版本被废弃)

PUT /索引名/~类型名~/文档id
{请求体}

技术分享图片

完成了自动增加索引!数据也成功的添加了,这就是我们在初期可以把es当做数据库学习的原因!

技术分享图片

创建索引,指定字段类型

PUT /索引名
{
  "mappings": {
    "properties": {
			"字段名": {
        "type": "字段类型"
      },
      "name": {
        "type": "text"
      },
      "age": {
        "type": "long"
      },
      "birthday": {
        "type": "date"
      }
    }
  }
}

技术分享图片

查询操作

通过get请求获取索引具体的信息

技术分享图片

创建时插入一条数据,不指定字段类型,es会自动给字段分配类型

_doc 是在type被废弃后的默认type

技术分享图片

技术分享图片

扩展命令

通过 GET /_cat 可以获得es很多信息

技术分享图片

修改索引

有多种方式可选

技术分享图片

删除索引和文档

技术分享图片

关于文档的基本操作

简单命令

添加数据

技术分享图片

查询数据

技术分享图片

技术分享图片

复杂查询

查询出来的hits对象包含哪些东西

技术分享图片

过滤结果,相当于 select name, desc .......

技术分享图片

排序

技术分享图片

分页查询

技术分享图片

布尔查询

must (相当于 and) 所有条件都要匹配

技术分享图片

should (相当于 or) 部分条件匹配

技术分享图片

must not (相当于 not)

技术分享图片

过滤结果集和进行范围查询

gt 大于 gte 大于等于 lt 小于 lte 小于等于

技术分享图片

匹配多个条件,匹配条件越多,分值越高

技术分享图片

keyword 和 text, 精确匹配和模糊匹配,keyword 类型的字段不会被分词器解析

技术分享图片

term 精确查询,不使用分词器解析

match 使用分词器解析

技术分享图片

高亮显示

技术分享图片

自定义高亮标签

技术分享图片

<全文完>

ElasticSearch 基本概念和基础操作

原文:https://www.cnblogs.com/chaohangz/p/14730194.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!