小脑斧学Elasticsearch(1)

初识Elasticsearch

Elasticsearch官网的文档上可以了解到,Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎。它使您可以近乎实时地快速存储、搜索和分析大量数据。它通常用作支持具有复杂搜索功能和要求的应用程序的底层引擎/技术。以下是官网给出的英文描述:

Elasticsearch is a highly scalable open-source full-text search and analytics engine. It allows you to store, search, and analyze big volumes of data quickly and in near real time. It is generally used as the underlying engine/technology that powers applications that have complex search features and requirements.

在其他技术文档上也有Elasticsearch的一些介绍,通常都会有以下几个关键字

  • 全文搜索引擎
  • 分布式
  • 高扩展(集群、高可用)
  • 近乎实时存储与检索(查询效率非常高)
  • 大数据(可以处理的数据量非常大)

说到Elasticsearch,可能都会听到其他的一些相关的技术,比如说Lucene和Solr。由于小脑斧只是初学Elasticsearch,Lucene和Solr并没有深入的去研究。就简单提一下。

Lucene:是一套信息检索的工具包,是jar包,不是一个搜索引擎。

Lucene和Elasticserach的关系:Elasticserach就是基于Lucene的工具包做了一些封装与增强,通过RESTFul API来简化Lucene的复杂操作。

Solr和Elasticsearch的一些总结(Solr并没有研究过,这里参考网上的一些总结,便于后期自己回顾总结与学习)

Elasticsearch和Solr的一些不同(后期学习到新的再补充)

  1. Elasticsearch安装简单,Solr安装相对复杂。
  2. 虽然都可以进行分布式,Elasticsearch自身带有分布式管理功能,Solr需要ZK来进行分布式管理。
  3. Elasticsearch支持且仅支持JSON的数据格式,Solr支持JSON、XML、CSV等数据格式。

Elasticsearch的安装

因为Elasticsearch是基于Java开发的,对Java的JDK版本有所要求。需要最低是JDK1.8的版本。

可以从官方下载地址根据你们目前的操作系统进行下载。小脑斧目前用的是Windows系统,就下了Windows的版本(7.14.0)(刚刚下载没两天已经又有7.14.1的新版本了,更新是真的快)。因为是用于自己研究学习,Windows版本也就可以了。如果是用于服务器的话,还是比较推荐Linux的版本。

压缩包下载下来后,安装还是很方便的,解压即用。不用配置任何环境变量!但是后期其他功能会涉及到前后端分离的项目应用。需要在机器上安装有nodejs的环境。如果还没有安装,教程在这里,小脑斧也是参照这个博客完成的安装。如果机器上已经安装了nodejs的环境,就跳过吧。

我们来看一下解压出来的一些文件目录

在这里插入图片描述
简单说一下这些目录里都是什么宝贝

  • bin 启动文件
  • config 配置文件
  • data 数据文件
  • lib 相关jar包,里面有Lucene的相关jar包,也再次证明了Elasticsearch是基于Lucene的封装
  • logs 日志
  • modules 功能模块
  • plugins 插件,马上要有的ik分词器就是一个插件

在来看一下config文件里的几个比较重要的配置文件

  1. elasticsearch.yml是elasticsearch的配置文件
    Elasticsearch默认9200端口,后期要解决跨域的问题,要在这里添加一些配置
  2. jvm.options是JVM的配置文件
  3. log4j2.properties是日志配置文件

启动Elasticsearch

在这里插入图片描述

直接打开bin目录,双击elasticsearch.bat文件进行启动。
在这里插入图片描述
访问127.0.0.1:9200,看到以下json
在这里插入图片描述

安装可视化界面 head插件

还是要先下载head插件,下载地址
没有安装nodejs环境的先安装环境先,上面有安装教程。

用npm安装项目的依赖包,安装完依赖包后,文件夹目录中有一个node_modules的文件夹,里面就是刚刚安装的依赖包。 命令:npm install
在这里插入图片描述

参照gitlab上的操作步骤
在这里插入图片描述

然后访问127.0.0.1:9100
在这里插入图片描述

看到这个界面,你就成功了一半了。为什么说只成功了一半呢?因为head插件端口是9100,Elasticsearch的端口是9200,存在跨越问题。那就解决跨域问题。先把Elasticsearch停了,去修改配置文件。

在Elasticsearch安装目录的config文件夹中,修改elasticsearch.yml配置文件。
在这里插入图片描述

将以下两个配置加到配置文件中后,重新启动Easticsearch

  • http.cors.enabled: true
  • http.cors.allow-origin: “*”

重新启动Elasticsearch,再次连接。
在这里插入图片描述

这里有一些小脑斧操作过的痕迹,新启动话,应该是空的数据。
当然head插件就当作数据的展示工具,后期json查询,用Kibana

Kibana

Kibana是针对Elasticsearch的开源分享及可视化平台,可以搜索、查看交换存储在Elasticsearch索引中的数据。使用Kbana,可以通过各种图表进行高级数据分析及展示(此介绍来源与网上)

下不说废话,先下载。下载地址。下载的版本要和先前下载的Elasticsearch版本一致。下载完后,解压(解压的时间略微有点长)。也是一个标准的前端工程。

解压后的目录
在这里插入图片描述

也是解压就可以启动 双击bin目录中kibana.bat
在这里插入图片描述

测试访问127.0.0.1:5601
在这里插入图片描述
在这里插入图片描述

后期可以在这个控制台进行数据操作。

不过大家一开始看到的应该是英文版的,像小脑斧一样英文水平一般的可以转汉化版。上面的截图已经是转了汉化了的。
找到kibana.yml这个配置文件
在这里插入图片描述
在这里插入图片描述

将下面这个配置追加到配置文件中,保存即可。

  • i18n.locale: “zh-CN”

重新启动kibana,应该就是中文版的了吧。

这些内容都是在B站看了狂神说java的Elasticsearch的教学视频,跟着一起学,记录的一些笔记。毕竟俗话说的好,好记性不如烂笔头,记录下来,也可以后期复习。发布出来,也可以给更多多人看到,希望对大家有用。

好了,这是小脑斧第一篇博文,写的不好的地方,也请看到的小伙伴们不要见怪,请大家多提意见。如果有写错的地方,那更要请大家指出了。瑞斯拜!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值