简析Elasticsearch-简介、安装、配合Kibana使用、SpringBoot整合

什么是Elasticsearch

参考

参考

Elasticsearch是一个实时的分布式存储、搜索、分析的引擎。

特点

分布式、高扩展、近乎实时的存储、检索数据

es是使用Java开发并使用Lucene作为其核心来实现所有的索引和搜索的功能,它通过简单的RESTful API 隐藏了Lucene的复杂性,从而是全文搜索变的简单

Elasticsearch对模糊搜索非常擅长(搜索速度很快)

Elasticsearch搜索到的数据可以根据评分过滤掉大部分,脂肪评分高的数据给用户

不是很准确的关键字也能搜索出相关的结果(比如:通过elastcsearch来搜elasticsearch)

Elasticsearch分词器

Elasticsearch通过分词的方式对数据进处理。
Elasticsearch内置分词器:

  • Standard Analyzer 。按词切分,将词小写
  • Simple Analyzer。按非字母过滤(符号被过滤掉),将词小写
  • WhitespaceAnalyzer。按照空格切分,不转小写

Elasticsearch分词器的主要组成部分:

  • TokenFilter(将切分后的词进行处理,比如转成小写)
  • Character Filters(文本过滤器,去除HTML)
  • Tokenizer(按照规则切分,比如空格)

中文分词器用得最多的是IK分词器

Elasticsearch的数据结构

请参考:https://cloud.tencent.com/developer/article/1583402
【注:常见数据结构:

  • 树型数据结构,时间复杂度O(logn)–mysql索引的实现方式B+树
  • 链表数据结构,时间复杂度O(n)–有序数组实现方式
  • 哈希数据结果,时间复杂度O(1)–HashMap在查找数据的时候使用的就是hash(在定位到具体的位置后使用红黑树或链表)】

Ubuntu20.04安装Elasticsearch

【注:在安装Kibana的时候一定要安装与ElsticSearch相匹配的版本】
参考

卸载本地参考

本次使用的是第三种安装方式,Kibana也是可以使用相同的安装方式

【注:在安装Kibana的时候一定要安装与ElsticSearch相匹配的版本】

Elasticsearch和Kibana与机器对应版本关系

Elasticsearch与其他插件的版本兼容性问题

【注:我当前的机器为ubuntu20.04,使用的elasticsearch为7.10.1】

方法一:使用 apt 安装

ElasticSearch 组件在Ubuntu的默认软件包存储库中不可用。但是,可以在添加Elastic的软件包源列表之后将它们与APT一起安装。

Ubuntu repositories 自身并没有 ElasticSearch 但我们可以添加 Elastic 官方软件源,以保证我们可以下载到来自官方的软件。

首先,使用 cURL 将 ElasticSearch 公共 GPG 密钥导入到本机。

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

接下来,将 Elastic 软件源添加到 sources.list.d 目录中:

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

更新软件源

sudo apt update

接着我们开始安装 ElasticSearch

sudo apt install elasticsearch

整个安装步骤非常流畅,全自动。

方法二:直接下载安装

我们可以在 Elastic 的官网找到最新版的下载地址。然后使用 wget 下载。

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.1-amd64.deb

使用 dpkg 进行本地安装

sudo dpkg -i elasticsearch-7.10.1-amd64.deb

安装完成后,我们对 ElasticSearch 进行配置。这里很关键,如果不配置,ES 运行时会报错。

大家可使用自己趁手的编辑器打开 elasticsearch.yml 文件。本教程使用 nano 编辑器:

sudo nano /etc/elasticsearch/elasticsearch.yml

注意: ElasticSearch 的配置文件为 YAML 格式,请注意缩进。

有关 ElasticSearch 群集,节点,路径,内存,网络,网关的配置选项都在这个配置文件中配置。大多数选项,我们可以直接使用默认选项,但有两个选项非常基础,必须配置 ES 才可以在我们的机器上跑起来。

这些选项大多数使用默认值即可,但是我们也可根据需要进行更改。为了演示单服务器配置,我们将仅调整网络主机的设置。CTRL+X 保存退出。

接下来,我们就可以启动 ElasticSearch 了。

sudo systemctl start elasticsearch

我们用 http 请求来测试一下 ES 服务是否启动。

curl -X GET "localhost:9200"

我们可以看到返回本地节点的一些基本信息,类似上图。

到这里,ElasticSearch 已经运行在你到服务器中了,先放在这里待用。接着我们来安装 Kibana ,Kibana 是 ES 的可视化分析平台,可以搜索 查询存储在 ES 中的数据。

方法三:直接下载Elasticsearch的tar包到本地解压启动

下载地址【此处使用的是7.10.1版本】

#解压tar包到本地
tar -zxvf elasticsearch-7.10.1-linux-x86_64.tar.gz
#进入到bin目录中
cd /elasticsearch-7.10.1/bin
#启动elasticsearch
./elasticsearch

安装 Kibana

直接下载安装Kibana【这种方式需要到kibana下的bin目录进行启动】
下载Kibana【我本地使用的是7.10.1版本】

下载Kibana到本地的操作步骤

#解压tar包到本地
tar -zxvf kibana-7.10.1-linux-x86_64.tar.gz
#进入到bin目录下
cd kibana-7.10.1-linux-x86_64/bin
#启动
./kibana

安装IK分词器

第一步:找到对应版本的IK分词器

当前使用的是7.10.1版本可从github中获取:

https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.10.1

第二步:将IK分词器放到plugins包下

此处获取的为zip包,直接解压到elasticsearsh的plugins包下,重启elasticsearch

【注:一定不要把zip包放到plugins包或其他包下】

Ik分词器简单使用

参考:https://github.com/medcl/elasticsearch-analysis-ik

【持续更新中】

你可能感兴趣的:(学习文档,elasticsearch,spring,boot,大数据)