一文了解Elasticsearch

数据分类

数据按数据结构分类主要有三种:结构化数据半结构化数据非结构化数据

结构化数据

结构化数据具有明确定义数据模型和格式的数据类型

一文了解Elasticsearch_第1张图片

特点:

  • 数据具有固定的结构和模式。

  • 数据项明确定义数据类型和长度。

  • 适合用于数据查询、过滤和分析、存储。

半结构化数据

半结构化数据介于结构化和非结构化数据之间。它具有一定的结构信息,但没有结构化数据那么明确

一文了解Elasticsearch_第2张图片

特点:

  • 数据元素包含在文档中,并且具有层次结构。

  • 使用标记或标签来标识数据元素。

  • 具有更大的灵活性,能够适应不同的数据模型。

非结构化数据

非结构化数据不具备明确结构的数据

一文了解Elasticsearch_第3张图片

特点:

  • 数据没有明确的结构,不容易进行数据分析。

  • 数据可能包含大量的自由文本和非关联的信息。

  • 难以用传统数据库或查询语言来处理。

Elasticsearch简介

Elasticsearch(简称ES), 既是一个面向文档的 NoSQL 数据库,又是一个开源的高扩展的分布式全文检索引擎

一文了解Elasticsearch_第4张图片

ES扩展性好,可以扩展到上百台服务器,处理起PB级数据时,能到秒级搜索,近乎实时搜索。

在开源全文检索领域,ES在DB-Engines搜索引擎类别长年霸榜!!!

一文了解Elasticsearch_第5张图片

国内有很多大厂都在使用Elasticsearch,比如阿里巴巴、京东、腾讯、美团、头条、携程、滴滴等。

ES基于Java语言进行开发,以 Lucene 为基础建立的全文搜索引起,通过简单的 RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

「什么是Lucene?」
Lucene是一个开源的高性能的全文检索库,由Java语言开发,具有高效性、可伸缩性的特点。
Lucene 最初是由 Doug Cutting 创建,并于2001年成为 Apache软件基金会的一个子项目。
Lucene 能实现全文搜索主要是因为它实现了倒排索引的查询结构。

ES分词使用的是倒排索引。ES自带的分词器默认根据空格进行分词

一文了解Elasticsearch_第6张图片

如果文章是中文的话,建议采用插件IK中文分词器实现中文内容的分词

Elasticsearch使用场景

  • 日志分析和监控:ES可以收集、存储和分析大量服务器日志数据,监控系统性能和查找故障。

  • 搜索引擎:ES可以构建高性能的搜索引擎,用于查询大量文档、网页和其他数据。

  • 商业智能和数据分析:ES可以用于处理和分析大量实时数据,以帮助企业做出更明智的决策。

  • 安全性分析:ES可以用于收集、存储和分析安全日志数据,帮助您检测安全事件和预防攻击。

  • 互联网中间件:ES可以作为互联网应用程序的中间件,用于处理大量动态一文了解Elasticsearch_第7张图片

你可能感兴趣的:(技术学习,elasticsearch,搜索引擎)