知识库 知识库
首页
GitHub (opens new window)
首页
GitHub (opens new window)
  • Docker

    • 基础
    • 进阶
  • Kubernetes

    • 环境搭建
    • 操作
    • Pod & Pod 控制器
    • Service
    • 数据存储、安全认证、Dashboard
  • Nginx

    • 简介
    • 快速入门
    • 配置实例
  • Redis

    • 背景
    • 基本使用
    • 进阶
  • ElasticSearch

    • 基础
      • 前言
      • ElasticSearch概述
      • ES和Solr的比较
      • ELK
      • ES安装
        • windows下:解压即用
        • Windows下安装可视化界面
      • 安装Kibana
    • 进阶
  • backend
  • ElasticSearch
causes
2024-11-02
目录

基础

# 前言

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/ (opens new window)

# 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/ (opens new window)
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 (opens new window)
  2. 好消息是解压即可,坏消息是解压要半小时
  3. 启动测试
  4. 访问5601,出现了界面
  5. 汉化:默认是英文版的,但是Kibana有中文版的,只需要配置即可:zh-CN
  6. 配置完成之后再次重启,进入5601

上次更新: 2024/11/02, 21:39:49
进阶
进阶

← 进阶 进阶→

Theme by Vdoing | Copyright © 2019-2024 红枫 | MIT License | 鲁ICP备20021989号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式