一.Elasticsearch快速入门及使用

一.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安装

1.解压

2.运行

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

4.Kibana可视化软件安装

五.入门(基本的操作)

注意:因为es把命令都封装成RestApi,所以我们直接发请求就行。

1.查看es基本信息

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会报错。

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

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

不适用: 大并发更新。 适用: 大并发查询偶尔更新。

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

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

(1) 删除文档

(2) 删除索引

6.批量操作

注意:我们使用Kibana操作,批量操作时上一条命令失败不会影响下一条命令的操作。 (1) 简单测试

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

(2) 批量导入测试数据

经验分享 程序员 微信小程序 职场和发展