ElasticSearch快速入门

在学习ElasticSearch之前先了解两个概念:

全文检索:

通过一个程序扫描文本中的每一个单词,针对单词建立索引,并保存该单词在文本中的位置以及出现的次数 ,用户查询时,通过之前建立好的索引来查询,将索引中单词对应的文本位置、出现的次数返回给用户,因为有了具体文本的位置,所以就可以将具体内容读取出来了。
倒排索引:
索引就类似于目录,平时我们使用的都是索引,都是通过主键定位到某条数据,那么倒排索引呢,刚好相反, 数据对应到主键。

简单理解,正向索引是通过key找value,反向索引则是通过value找key。ES底层在检索时底层使用的就是倒排索引。
ElasticSearch是什么?
ElasticSearch(简称ES)是一个分布式、RESTful 风格的搜索和数据分析引擎,是用Java开发并且是当前最流行的开源的企业级搜索引擎,能够达到近实时搜索 ,稳定,可靠,快速,安装使用方便。客户端支持Java、.NET(C#)、PHP、Python、Ruby等多种语言。
官方网站: https://www.elastic.co/
下载地址: https://www.elastic.co/cn/downloads/past-releases#elasticsearch
  ElasticSearch历史
起源——Lucene, 基于Java语言开发的搜索引擎库类 , 创建于1999年,2005年成为Apache 顶级开源项目。
Lucene具有高性能、易扩展的优点
Lucene的局限性︰
  1. 只能基于Java语言开发
  2. 类库的接口学习曲线陡峭
  3. 原生并不支持水平扩展
Elasticsearch是构建在Apache Lucene之上的开源分布式搜索引擎。
2004年 Shay Banon 基于Lucene开发了Compass
2010年 Shay Banon重写了Compass,取名Elasticsearch支持分布式,可水平扩展,降低全文检索的学习曲线,可以被任何编程语言调用。
Elasticsearch 与 Lucene 核心库竞争的优势在于: 完美封装了 Lucene 核心库,设计了友好的Restful-API,开发者无需过多关注底层机制,直接开箱即用;分片与副本机制,直接解决了集群下性能与高可用问题。
在Elastic Stack之前我们听说过ELK,ELK分别是Elasticsearch,Logstash,Kibana这
三款软件在一起的简称,在发展的过程中又有新的成员Beats的加入,就形成了ElasticStack。

 Elastic Stack生态圈

在Elastic Stack生态圈中Elasticsearch作为数据存储和搜索,是生态圈的基石,Kibana在上层提供用户一个可视化及操作的界面,Logstash和Beat可以对数据进行收集。在上图的右侧X-Pack部分则是Elastic公司提供的商业项目。

​​​​​​

ElasticSearch应用场景
  1. 站内搜索
  2. 日志管理与分析
  3. 大数据分析
  4. 应用性能监控
  5. 机器学习
国内现在有大量的公司都在使用 Elasticsearch,除了搜索之外,结合Kibana、Logstash、Beats, Elastic Stack还被广泛运用在大数据近实时分析领域,包括日志分析、指标监控、信息安全等多个领域。它可以帮助你探索海量结构化、非结构化数据,按需创建可视化报表,对监控
数据设置报警阈值,甚至通过使用机器学习技术,自动识别异常状况。
ElasticSearch快速开始
ElasticSearch安装运行
环境准备
运行Elasticsearch,需安装并配置JDK ,设置$JAVA_HOME ,各个版本对Java的依赖 https://www.elastic.co/support/matrix#matrix_jvm
Elasticsearch 5需要Java 8以上的版本 ,Elasticsearch 从6.5开始支持Java 11 , 7.0开始,内置了Java环境 , ES比较耗内存,建议虚拟机4G或以上内存,jvm1g以上的内存分配。
下载并解压ElasticSearch
下载地址: https://www.elastic.co/cn/downloads/past-releases#elasticsearch
选择版本:7.17.3
ElasticSearch文件目录结构
目录
描述
bin :脚本文件,包括启动elasticsearch,安装插件,运行统计数据等
config :文件目录,如elasticsearch配置、角色配置、jvm配置等。
jdk :java运行环境
data :默认的数据存放目录,包含节点、分片、索引、文档的所有数据,生产环境需要修改。
lib :elasticsearch依赖的Java类库
logs :默认的日志文件存储路径,生产环境需要修改。
modules :包含所有的Elasticsearch模块,如Cluster、Discovery、 Indices等。
plugins :已安装插件目录
启动ElasticSearch服务
Windows
直接运行elasticsearch.bat
Linux( centos7)
ES不允许使用root账号启动服务,如果你当前账号是root,则需要创建一个专有账户。
  # root 用户  
bin / elasticsearch
运行 http://localhost:9200/

客户端Kibana安装
Kibana是一个开源分析和可视化平台,旨在与Elasticsearch协同工作。
下载并解压缩Kibana
下载地址: https://www.elastic.co/cn/downloads/past-releases#kibana
选择版本:7.17.3
运行Kibana
Windows
直接运行kibana.bat
Linux( centos7)
ES不允许使用root账号启动服务,如果你当前账号是root,则需要创建一个专有账户。
bin / kibana
访问Kibana: http://localhost:5601/

Elasticsearch安装分词插件
Elasticsearch提供插件机制对系统进行扩展
以安装analysis-icu这个 分词 插件为例
Windows
本地下载相应的插件,解压,然后手动上传到elasticsearch的plugins目录,然后重启ES实
例就可以了。
Linux( centos7)
# 查看已安装插件
bin / elasticsearch plugin list
# 安装插件
bin / elasticsearch plugin install analysis icu
# 删除插件
bin / elasticsearch plugin remove analysis icu
分词测试
完成上述操作, Elasticsearch基本上算入门了,可以学习下面进阶的一些语法啦!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值