admin管理员组

文章数量:1624786

linux环境下Elasticsearch安装教程

  • 一、Elasticsearch简介
    • 1、什么是全文检索
    • 2、倒排索引
    • 3、Elasticsearch的诞生与起源
    • 4、ElasticSearch版本特性
    • 5、ElasticSearch快速安装
    • 6、客户端Kibana安装
    • 7、Elasticsearch安装分词插件

一、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应用场景

  • 站内搜索
  • 日志管理与分析
  • 大数据分析
  • 应用性能监控
  • 机器学习

1、什么是全文检索

全文检索是指通过一个程序扫描文本中的每一个单词,针对单词建立索引,并保存该单词在文本中的位置、以及出现的次数;用户查询时可以通过之前建立好的索引找到单词对应的文本位置、出现的次数,从而读取到具体的内容。因此市面上常见的搜索引擎的实现简单概括的话可以分为如下几步:

  • 内容爬取,停顿词过滤;
  • 内容分词,提取关键词;
  • 根据关键词建立倒排索引;
  • 用户输入关键词进行搜索;

2、倒排索引

平时我们使用的都是索引,都是通过主键定位到某条数据,那么倒排索引呢,刚好相反,是数据对应到主键
简单理解,正向索引是通过key找value,反向索引则是通过value找key。ES底层在检索时
底层使用的就是倒排索引。

3、Elasticsearch的诞生与起源

Elasticsearch是构建在Apache Lucene之上的开源分布式搜索引擎。而Lucene是一个基于Java语言开发的搜索引擎库类,创建于1999年,2005年成为Apache 顶级开源项目,具有高性能、易扩展的优点。但是因为它只能基于java语言开发、类库的接口没有进一步封装,学习成本高,除此之外原生的Lucene并不支持水平扩展,因此当今的主搜索引擎框架以Elasticsearch为主。

  • 2004年 Shay Banon 基于Lucene开发了Compass
  • 2010年 ShayBanon重写了Compass,取名Elasticsearch

优点如下:

  • 支持分布式,可水平扩展
  • 降低全文检索的学习曲线,可以被任何编程语言调用

4、ElasticSearch版本特性

5.x新特性

  • Lucene 6.x, 性能提升,默认打分机制从TF-IDF改为BM 25
  • 支持Ingest节点/ Painless Scripting / Completion suggested支持/原生的 Java REST客户端
  • Type标记成deprecated,支持了Keyword的类型
  • 性能优化 内部引擎移除了避免同一文档并发更新的竞争锁,带来15% - 20%的性能提升
  • Instant aggregation,支持分片上聚合的缓存 新增了Profile API

6.x新特性

<

本文标签: 环境教程LinuxElasticsearch