elasticsearch学习第一天-es简介及软件安装

204 阅读4分钟

elasticsearch

简介

为什么要学习es,原因主要在于,当我们的应用服务面对的用户量特别大的时候,传统的数据库搜索可能会表现得力不从心,此时就需要全文检索技术的帮助。

Elasticsearch就是一个基于Lucene封装的web服务,实现了索引的CRUD功能,并对外提供了可以访问的Rest风格的接口。当我们需要访问elasticsearch时,只需要向指定的URL路径发起请求即可。

Elastic官网:www.elastic.co/cn/

image.png

Elastic有一条完整的产品线:Elasticsearch、Kibana、Logstash等,前面说的三个就是大家常说的ELK技术栈。

Elasticsearch官网:www.elastic.co/cn/products…

如上所述,Elasticsearch具备以下特点:

  • 分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为注册中心)
  • Restful风格,一切API都遵循Rest原则,容易上手
  • 近实时搜索,数据更新在Elasticsearch中几乎是完全同步的。

准备

在这里想多说一句,java工程师需要掌握的组件是有范围的,学习这些组件一定要成体系地、系统地做一个学习。软件安装、上手操作、服务集成、底层探索,按部就班地去做。切忌心浮气躁,走马观花。本篇主要完成es的安装。

学习es的话需要安装的软件包括

  • elasticsearch 优秀的搜索和数据分析引擎
  • elasticsearch-head es可视化界面
  • kibana Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具
  • ik分词器 提供中文分词功能

安装es

直接使用华为云镜像下载es,速度快,谁用谁知道!

mirrors.huaweicloud.com/elasticsear…

image.png

本次选择7.6.1版本,点进去linux、windows等都有,本次选择windows。

image.png

下载完成之后解压,运行bin目录下的elasticsearch.bat,看到最后这边显示started即可。

image.png

随后访问下本地9200端口:

image.png

es安装成功,you know , for search。

这里提醒大家一下,修改下es下的config目录下的elasticsearch.yml,在最后追加下跨域的配置,解决跨域问题,否则会影响咱们之后elasticsearch-head对于es的访问。

http.cors.enabled: true
# 跨域访问允许的域名地址
http.cors.allow-origin: "*"

image.png

image.png

安装elasticsearch-head

es的可视化界面,选择并非只有这一个,例如elasticHD也可以,本次就使用长得不怎么好看的elasticsearch-head吧。安装elasticsearch-head的前提是你的环境已经安装了node js环境,这个如未安装一定安装下,因为elasticsearch-head本身也是个前端项目,需要node js环境的支持。

elasticsearch-head项目的git地址: github.com/mobz/elasti…

image.png

git直接clone下来

image.png

随后项目根目录下执行cmd,运行两个命令

npm install , 下载前端需要的一些插件。

image.png

插件下载完毕之后

npm run start , 将项目启动

image.png

ok,9100端口,我们访问下:

image.png

刚安装的话,你的界面肯定和我的长得不一致的,没关系,是因为我做了些别的操作。你点击下连接显示green或者yellow都可以,都说明连接是成功的。

安装kibana

Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等。

而且还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习Elasticsearch的语法。

kibana的安装也非常简单,软件包还是去华为云镜像上下载:mirrors.huaweicloud.com/kibana/?C=N… 。下载的版本和es保持一致7.6.1.

image.png

运行kibana.bat即可启动

image.png

随后来到主界面

image.png

我们随便发个请求GET .kibana_1,.kibana_1是启动kibana后会自动在es创建的索引,我们可以先用elasticsearch-head看下

image.png 发送请求之后数据也返回了

image.png

至此,kibana安装成功。补充一点,如果英文界面看着难受,可以改为中文界面。修改下kibana下的bin下的kibana.yml最后一行追加i18n.locale: "zh-CN"即可

image.png 重启kibana之后就生效了。

安装ik分词器

下载地址:github.com/medcl/elast… 。 也是一个github项目,我下载的是压缩包,解压之后放在es的plugins下面即可!

image.png

里面长这个样子: image.png

随后我们重启es看看插件是否能被加载

image.png

ok的。

总结

本篇主要简单介绍了下es、安装了些相关软件,下篇我们开始操作。