Elasticsearch 基础介绍

Elasticsearch简介 基础概念

​ Elasticsearch由Shay banon在2004年进行初步开发,并且在2010年2月发布第一个版本。

​ 此后Shay banon在2012建立Elasticsearch BV公司,继续围绕Elasticsearch提供相关软件和产品。

​ Elasticsearch是一个实时的分布式搜索分析引擎,它能让你以一个前所未有的体验来探索你的数据。

​ 它常被作用于全文检索、结构化搜索、数据分析这三个功能的组合。

image-20210403211058710

功能介绍

​ Elasticsearch基于Apache Lucene的开源搜索引擎,而Lucene无论是在开源亦或是专有领域来说,它可以被认为是迄今为止最先进、性能***、功能最丰富的的搜索引擎库。

​ 但是,Lucene仅是一个Java库,要想使用它你必须熟知Java并将其直接集成到你的应用中,更加糟糕的是Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。

​ 而Elasticsearch将Lucene当做核心,并屏蔽了大部分复杂的操作,通过简单的RESTful API进行调用,从而让全文搜索变的简单。

与SQL的区别

​ Elasticsearch与MySQL的区别较大,其数据存储采用JSON格式。

​ 在其中,各个名词术语也是不相同的,如下表所示:

Elasticsearch SQL
索引    
类型(7版本后淡化该概念,8版本可能会被移除)    
文档   记录  
filed   字段  

​ 同时,MySQL并不适用于全文检索,如要查询某个字符串%,必须使用全表扫描

​ 而Elasticsearch则非常适合全文检索,并且可以灵活的存储不同类型的数据

​ 以下是Elasticsearch应用场景:

商城的商品搜索

所有产品的评论

高亮显示搜索内容

收集展示各种日志

​ 除此之外,相较于MySQL部署分布式的繁琐,Elasticsearch天生支持分布式,部署简单,维护轻松,也是对运维人员非常友好的一款数据库产品。

​ 一言以蔽之,Elasticsearch的出现并非为了取代SQL,而是专注于SQL不擅长的领域与其进行互补。

Elasticsearch安装 安装方式

​ Elasticsearch安装方式有以下4种:

docker:

优点:

部署方便

开箱即用

启动迅速

缺点:

需要有docker相关知识

修改配置比较麻烦

数据存储需要挂载目录

tar

优点:

部署灵活

对系统侵占性小

缺点:

需要自己写启动管理文件

目录要提前进行规划

rpm | deb:

优点:

部署方便

启动脚本安装即用

存放目录较为标准化

缺点:

软件各个组件分散在不同目录

卸载可能不干净

默认配置需要修改

ansible

优点:

及其灵活

功能全面

批量部署速度快

缺点:

需要学习ansible语法和规则

需要提前规划好所有标准

需要有专人进行维护

Rpm安装

​ 在这里将采用rpm进行安装,版本为7.6.1,算是目前较新的版本。

​ 1)安装Java环境,最少要求1.8:

$ yum install -y java-1.8.0-openjdk.x86_64

​ 2)下载安装软件,如果速度慢可以在其他浏览器上进行下载后通过scp传输:

$ cd ~ $ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.1-x86_64.rpm

​ 3)进行安装:

$ rpm -ivh elasticsearch-7.6.1-x86_64.rpm 配置启动

​ 1)重新加载sys项目:

$ systemctl daemon-reload

​ 2)配置开机启动:

$ systemctl enable elasticsearch.service

​ 3)启动Elasticsearch服务(过程较慢,查看日志,耐心等待):

$ systemctl start elasticsearch.service

​ 4)查看启动状态,确保配置文件没有问题:

$ systemctl status elasticsearch.service

​ 5)由于Elasticsearch启动较慢,检查服务进程是否成功启动:

$ ps -ef | grep elasticsearch $ netstat -lnpt | grep 9200 # 查看9200端口

​ 如果启动失败,请检查内存等是否充裕,或者进行jvm内存限制。

目录介绍

​ 通过以下命令查看Elasticsearch安装目录:

$ rpm -ql elasticsearch

​ 通过以下命令查看Elasticsearch配置文件:

$ rpm -qc elasticsearch

​ 重要目录与文件:

/etc/elasticsearch/elasticsearch.yml # 配置文件 /etc/elasticsearch/jvm.options # jvm虚拟机配置文件 /etc/init.d/elasticsearch # init启动文件 /etc/sysconfig/elasticsearch # 环境变量配置文件 /usr/lib/sysctl.d/elasticsearch.conf # sysctl变量文件 /usr/lib/systemd/system/elasticsearch.service # systemd启动文件 /var/lib/elasticsearch # 数据目录 /var/log/elasticsearch # 日志目录 /var/run/elasticsearch # pid目录 修改配置

​ Elasticsearch的默认配置已经做得非常好,但是以下一些配置你可以进行选配:

# 查看数据和日志目录 $ egrep -v "^#" /etc/elasticsearch/elasticsearch.yml

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgfydp.html