ElasticSearch简介

背景知识

  • Lucene是一套数据检索工具包(jar包),不包含搜索引擎系统,主要包含:索引结构、读写索引的工具、排序、搜索顾泽…工具类
  • Lucene和ElasticSearch关系:Elasticsearch是基于Lucene做了一些封装和增强

概述

  • Elasticsearch简称为es,es是一个开源的高扩展分布式全文检索引擎,它可以近乎实时的存储,检索数据
  • 本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。
  • 使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
  • 用于全文搜索、结构化搜索、分析以及将这三者混合使用

ES和solr的差别

solr简介

  • solr是Apache下的一个顶级开源项目,采用Java开发,基于Lucene的全文搜索服务器,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化
  • 对外提供类似于web-service的API接口,用户可以通过http请求向搜索引擎服务提供一定格式的文件,生成索引,也可以通过提出查找请求并得到返回结果

比较

  • 单纯的对已有数据进行搜索时,Solr更快
  • 实时建立索引时,solr会产生io阻塞,查询性能较差,ES具有明显的优势
  • 随着数据量的增加,solr的搜索效率会变的更低,而ES却没有明显的变化
  • 一般传统的项目从solr转变为ES时,性能会提升0~50倍搜索性能
  • es基本是开箱即用,solr的安装略微复杂一些
  • solr利用Zookeeper进行分布式管理,而ES自带分布式协调管理功能
  • solr支持更多数据格式,比如json、XML、CSV,而ES只支持json文件格式
  • Solr官网提供的功能更多,而ES本身更注重核心功能,高级功能多有第三方插件提供
  • solr查询快但是更新索引时慢,用于电商等查询多的应用,es建立索引快,实时性查询快,用于Facebook新浪等的搜索
  • solr是传统搜索引擎应用的有力解决方案,但ES更适用于新兴的实时搜索应用
  • solr比较成熟,有一个更大,更成熟的用户、开发和贡献社区,而ES相对开发维护者较少,更新太快,学习使用成本高

ES安装

  • 安装完毕后访问9200端口
    在这里插入图片描述

可视化界面安装

  • 下载:git clone git://github.com/mobz/elasticsearch-head.git
  • 进入elasticsearch-head文件启动
npm install
npm run start
  • 安装完后多了grunt文件,后台执行:./node_modules/grunt/bin/grunt server &
  • 连接测试发现存在跨域问题:配置es配置文件
    在这里插入图片描述
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS,HEAD,GET,POST,PUT,DELETE
http.cors.allow-headers: "X-Requested-With,Content-Type,Content-Length,X-User"
  • 重启es服务再次测试
    在这里插入图片描述
  • es相当于一个数据库,可以建立索引(库),文档(库中的数据),es-head相当于一个数据展示工具

了解ELK

  • ELK是Elasticsearch、Logstash、Kibana三大开源矿建首字母的大写简称
  • ES见上面介绍
  • Logstash是ELK中央数据流引擎用于从不同目标(文件、数据存储、MQ)收集的不同规格数据,经过过滤后支持输出到不同目的地(文件、MQ、Redis、elasticssearch、kafka等)
  • kibana可以将es的数据通过友好的页面展示出来提供实时分析的功能

ELK架构

  • 收集清洗–>搜索,存储–>展示
  • ELK是一个日志分析架构技术栈的总称,但实际上ELK不仅仅用于日志分析,它还支持其他任何数据分析和收集的场景,日志分析和收集只是更具代表性不具唯一性
    在这里插入图片描述

安装kibana

  • kibana是一个针对es的开源分析及可视化平台,用来搜索,查看交互存储在es索引中的数据,使用kibana可以通过各种图表进行高级数据分析及展示。kibana让海量数据变得更加容易理解,操作简单基于浏览器的用户界面可以快速创建仪表盘(dashboard)实时显示es查询动态
  • 安装完成后测试
    在这里插入图片描述

开发工具(postman、curl、浏览器插件、libana开发工具)

  • kibana开发工具地址:http://localhost:5601/app/kibana#/dev_tools/console
  • kibana汉化修改
#i18n.locale: "en"    默认
i18n.locale: "zh-CN"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

double_happiness

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值