Elasticsearch快速入门及使用

Elasticsearch快速入门及使用

  • 一.Elasticsearch是什么
  • 二.基本概念
    • 1.index (索引)
    • 2. type (类型)
    • 3.Document (文档)
  • 三.为什么Elasticsearch可以从海量数据里快速检索出数据
  • 四.Elasticsearch安装
    • 1.解压
    • 2.运行
    • 3.显示以下内容就是启动成功1
    • 4.Kibana可视化软件安装
  • 五.入门(基本的操作)
    • 1.查看es基本信息
    • 2.索引一个文档(新增一条数据)
    • 3.查询一个文档(查询一条数据)
    • 4.更新一个文档(更新数据)
    • 5.删除索引或文档(删除数据库或数据)
    • 6.批量操作

一.Elasticsearch是什么

Elasticsearch 是一个免费且开放的分布式搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。

Elasticsearch 是全文搜索引擎的首选。它可以快速地储存检索分析海量数据。

二.基本概念

1.index (索引)

相当于mysql你创建的某个数据库。

2. type (类型)

相当于mysql你创建的某个表。

3.Document (文档)

相当于mysql表里的数据 (json格式)

三.为什么Elasticsearch可以从海量数据里快速检索出数据

快速检索归功于 Elasticsearch的倒排索引(存入数据会维护一张倒排索引表)

倒排索引的步骤
举例:按顺序存入 A =《大话东游》、B =《爱坤大话东游》、C =《大话连篇东游》、D = 《大话西游》

(1) 分词
①《大话东游》会被分成 《大话》和《东游》并属于A。

②《爱坤大话东游》会被分成 《爱坤》《大话》和《东游》并属于B。

③《大话连篇东游》会被分成 《大话》《连篇》和《东游》并属于C。

④《大话西游》会被分成 《大话》和《西游》并属于D。

倒排索引表如下:

记录
《大话》 A,B,C,D
《东游》 A,B,C
《爱坤》 B
《连篇》 C
《西游》 D

(2) 检索
例如:检索《爱坤大话西游》
① 分词成 《爱坤》《大话》和《西游》
②去倒序索引表去查,包含这几项的记录。
③ 查到如下

记录
《大话》 A,B,C,D
《爱坤》 B
《西游》 D

④ 然后计算相关性得分
D最符合,因为D分成两个单词都命中(2/2)。然后B分成三个单词命中两个(2/3)。然后A…,最后会根据相关性得分从高到低返回。

四.Elasticsearch安装

Elasticsearch官方安装文章

下载即用elasticsearch-7.3.1和kibana-7.3.1 提取码:0221

1.解压

Elasticsearch快速入门及使用_第1张图片

2.运行

Elasticsearch快速入门及使用_第2张图片

3.显示以下内容就是启动成功1

Elasticsearch快速入门及使用_第3张图片

4.Kibana可视化软件安装

安装教程 注意:版本号要对应

五.入门(基本的操作)

Apifox-2.3.0自测工具安装包
注意:因为es把命令都封装成RestApi,所以我们直接发请求就行。

1.查看es基本信息

GET/_cat/nodes   //查看所有的节点
GET/_cat/health  //查看es健康情况
GET/_cat/master  //查看所有的节点
GET/_cat/indices //查看所有索引(相当于查看所有数据库)
下面截图举例查询es健康情况:

Elasticsearch快速入门及使用_第4张图片

2.索引一个文档(新增一条数据)

举例:http://localhost:9200/kunkun/ikun/2.5
含义:我们在kunkun索引下的ikun类型下保存id为2.5的数据。(相当于在kunkun数据库下的ikun表加一个id为2.5的数据,es里面存的是json数据)

异同点:
①POST和PUT请求新增如果重复发请求,如果存在就会更新。

②POST和PUT如果重复发请求更新时,不会对比原数据,版本号等会改变。

③POST请求不带id,会自动给你生成唯一id。PUT请求不带id会报错。

Elasticsearch快速入门及使用_第5张图片

3.查询一个文档(查询一条数据)

Elasticsearch快速入门及使用_第6张图片

4.更新一个文档(更新数据)

不适用: 大并发更新。
适用: 大并发查询偶尔更新。
Elasticsearch快速入门及使用_第7张图片

注意:POST请求带 _update 关键字更新时会对比原来的数据,如果数据没有任何改变,不做任何操作,版本号等都不改变。

5.删除索引或文档(删除数据库或数据)

(1) 删除文档
Elasticsearch快速入门及使用_第8张图片

(2) 删除索引
Elasticsearch快速入门及使用_第9张图片

6.批量操作

注意:我们使用Kibana操作,批量操作时上一条命令失败不会影响下一条命令的操作。
Elasticsearch快速入门及使用_第10张图片
(1) 简单测试

//给kunkun数据库下的ikun表导入两条数据
POST /kunkun/ikun/_bulk
{"index":{"_id":"1"}}
{"name":"chang"}
{"index":{"_id":"2"}}
{"name":"tiao"}

Elasticsearch快速入门及使用_第11张图片

(2) 批量导入测试数据

es提供的测试数据 提取码:0221

Elasticsearch快速入门及使用_第12张图片
好了入门到此结束。请期待后续的进阶文章。

你可能感兴趣的:(elasticsearch,搜索引擎,大数据,Kibnan,最新2023)