基础

  1. 前言
  2. ElasticSearch概述
  3. ES和Solr的比较
  4. ELK
  5. ES安装
    1. windows下:解压即用
    2. Windows下安装可视化界面
  6. 安装Kibana

前言

1998年9月4日,Google公司在美国硅谷成立。正如大家所知,它是一家做搜索引擎起家的公司。

一位名叫Doug Cutting的美国工程师,迷上了搜索引擎。他做了一个用于文本搜索的函数库(姑且理解为软件的功能组件),命名为Lucene。

Lucene是用Java写成的,目标是为各种中小型应用软件加入全文检索功能。因为好用而且开源,非常受程序员们的欢迎。

Lucene 是一套信息检索工具包! jar包! 不包含 搜索引擎系统

包含的:索引结构,读写索引的工具,排序,搜索规则…. 工具类

Lucene 和 ElasticSearch 关系

  • ElasticSearch 是基于 Lucene 做了一些封装和增强(我们上手是十分简单!)

ElasticSearch概述

Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。es也使用

Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTfulAPI来隐藏Lucene的复杂性,从而让全文搜索变得简单。

据国际权威的数据库产品评测机构DB Engines的统计,在2016年1月,ElasticSearch已超过Solr等,成为排名第一的搜索引擎类应用

ES和Solr的比较

Elasticsearch简介

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

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

通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单

Solr简介

Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。

Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化

两者对比

Solr ES
支持JSON,XML,CS 仅支持JSON
安装稍微复杂 开箱即用
利用Zookeeper进行分布式管理 自身带有分布式协调管理功能
提供的功能更多 更注重核心功能,更多功能以第三方插件提供
查询快,更新索引慢 建立索引快,查询慢(实时性查询快)
基于传统搜索应用的有力解决方案 新兴的实时搜索
比较成熟,用户更多,开发者社区更大 相对开发维护者较少,更新太快,学习成本较高

ELK

ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称。市面上也被成为Elastic Stack

Logstash是ELK的中央数据流引擎

用于从不同目标(文件/数据存储/MQ)收集的不同格式数据,经过过滤后支持输出到不同目的地:

  • 文件
  • MQ
  • redis
  • elasticsearch
  • kafka

Kibana

可以将elasticsearch的数据通过友好的页面展示出来,提供实时分析的功能。

市面上很多开发只要提到ELK能够一致说出它是一个日志分析架构技术栈总称。

但实际上ELK不仅仅适用于日志分析,它还可以支持其它任何数据分析和收集的场景,日志分析和收集只是更具有代表性。

ES安装

官网:https://www.elastic.co/

windows下:解压即用

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

Windows下安装可视化界面

  1. 需要前端环境,比如nodejs等
  2. 下载地址:https://github.com/mobz/elasticsearch-head/
npm install
  1. 启动,访问9100
npm run start

  1. 连接测试,发现有一个跨域问题,访问不到ES,那么我们配置ES
http.cors.enabled: true
http.cors.allow-origin: "*"

  1. 重启ES服务,测试连接

安装Kibana

注意,Kibana要和ES的版本一致,否则会出大问题

  1. 官网:https://www.elastic.co/cn/kibana
  2. 好消息是解压即可,坏消息是解压要半小时
  3. 启动测试
  4. 访问5601,出现了界面
  5. 汉化:默认是英文版的,但是Kibana有中文版的,只需要配置即可:zh-CN
  6. 配置完成之后再次重启,进入5601


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。