ElasticSearch概述

49 阅读5分钟

前言

Lucene是一套信息检索工具包! jar包 !不包含搜索引擎系统!
包含的:索引结构!读写索引的工具!排序,搜索规则...工具类!
Lucene和ElasticSearch关系:
ElasticSearch是基于Lucene做了一些封装和增强 (我们上手是十分简单! )

Elaticsearch 概述

Elaticsearch 简称为es,es是一 个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,
可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能 ,但是
它的目的是通过简单的 RESTful API 来隐藏Lucene的复杂性,从而让全文搜索变得简单。
据国际权威的数据库产品评测机构DB Engines的统计,在2016年1月, ElasticSearch已超过Solr等,成为排名第一的搜索引擎类应
用。

Elasticsearch是一个实时分布式搜索和分析引擎。它让你以前所未有的速度处理大数据成为可能。

它用于全文搜索、结构化搜索、分析以及将这三者混合使用:

ElasticSearch vs Solr

  1. es基本是开箱即用(解压就可以用 ! ),非常简单。Solr安装略微复杂一丢丢!

  2. Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能。

  3. Solr 支持更多格式的数据,比如JSON、XML、CSV,而 Elasticsearch 仅支持json文件格式。

  4. Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提供,例如图形化界面需要kibana友好支撑~!

  5. Solr 查询快,但更新索引时慢(即插入删除慢),用于电商等查询多的应用;

    • Solr 是传统搜索应用的有力解决方案,但 Elasticsearch 更适用于新兴的实时搜索应用
    • ES建立索引快(即查询慢),即实时性查询快,用于facebook新浪等搜索。
  6. Solr比较成熟,有一个更大,更成熟的用户、开发和贡献者社区,而 Elasticsearch相对开发维护者较少,更新太快,学习使用成本较高。(趋势!)

ElasticSearch 安装

声明:JDK1.8 ,最低要求! ElasticSearch 客户端,界面工具!
Java开发,ElasticSearch 的版本和我们之后对应的 Java 的核心jar包! 版本对应!JDK 环境是正常!

官网:www.elastic.co/

下载地址:www.elastic.co/cn/download…

或者 7.6.2(百度网盘):链接: pan.baidu.com/s/1wgw4NJQn… 提取码: wcxh 

window 下安装!

解压就可以使用了!

 熟悉目录

bin 启动文件
config 配置文件
log4j2 日志配置文件
jvm.options java 虚拟机相关的配置
elasticsearch.yml  elasticsearch 的配置文件! 默认 9200 端口! 跨域!
lib   相关jar包
logs   日志!
modules 功能模块
plugins 插件!

启动,访问9200

双击 bin 目录下的 elasticsearch.bat 启动不起来在elasticsearch.yml末尾添加

xpack.ml.enabled: false

 

访问测试(http://127.0.0.1:9200/

安装可视化界面 es head的插件

需要node.js环境

1、下载地址:github.com/mobz/elasti…

2、启动

npm install
npm run start

3、连接测试发现,存在跨域问题:在 elasticsearch.yml 中配置es

http.cors.enabled: true
http.cors.allow-origin: "*"

4、重启es服务器,然后再次连接(cmd 该目录 然后 npm run start)

http://127.0.0.1:9100

初学,就把es当做一个数据库! (可以建立索引(库),文档(库中的数据!))

这个head我们就把它当做数据展示工具!我们后面所有的查询,Kibana!

Kibana

了解 ELK

ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称。市面上也被成为ElasticStack。其中Elasticsearch是一个基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架。像类似百度、谷歌这种大数据全文搜索引擎的场景都可以使用Elasticsearch作为底层支持框架,可见Elasticsearch提供的搜索能力确实强大,市面上很多时候我们简称Elasticsearch为es。Logstash是ELK的中央数据流引擎,用于从不同目标(文件/数据存储/MQ)收集的不同格式数据,经过过滤后支持输出到不同目的地(文件/MQ/redis/elasticsearch/kafka等)。Kibana可以将elasticsearch的数据通过友好
的页面展示出来,提供实时分析的功能。

市面上很多开发只要提到ELK能够一致说出它是一个日志分析架构技术栈总称,但实际上ELK不仅仅适用于日志分析,它还可以支持其它任何数据分析和收集的场景,日志分析和收集只是更具有代表性。并非唯一性。

安装Kibana

Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。设置Kibana非常简单。无需编码或者额外的基础架构,几分钟内就可以完成Kibana安装并启动Elasticsearch索引监测

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

Kibana 版本要和 Es 一致!

1、解压后端的目录

2、启动 

双击 bin 目录下的 kibana.bat 文件

3、访问测试

4、开发工具! (Post、curl、head、谷歌浏览器插件测试!)

5、汉化!自己修改kibana配置即可! zh-CN!

kibaba.yml文件末尾添加

i18n.locale: "zn-CH"