数据分类
数据按数据结构分类主要有三种:结构化数据、半结构化数据和非结构化数据。
结构化数据
结构化数据具有明确定义数据模型和格式的数据类型。
特点:
数据具有固定的结构和模式。
数据项明确定义数据类型和长度。
适合用于数据查询、过滤和分析、存储。
半结构化数据
半结构化数据介于结构化和非结构化数据之间。它具有一定的结构信息,但没有结构化数据那么明确。
特点:
数据元素包含在文档中,并且具有层次结构。
使用标记或标签来标识数据元素。
具有更大的灵活性,能够适应不同的数据模型。
非结构化数据
非结构化数据不具备明确结构的数据。
特点:
数据没有明确的结构,不容易进行数据分析。
数据可能包含大量的自由文本和非关联的信息。
难以用传统数据库或查询语言来处理。
Elasticsearch简介
Elasticsearch(简称ES), 既是一个面向文档的 NoSQL 数据库,又是一个开源的高扩展的分布式全文检索引擎。
ES扩展性好,可以扩展到上百台服务器,处理起PB级数据时,能到秒级搜索,近乎实时搜索。
在开源全文检索领域,ES在DB-Engines搜索引擎类别长年霸榜!!!
国内有很多大厂都在使用Elasticsearch,比如阿里巴巴、京东、腾讯、美团、头条、携程、滴滴等。
ES基于Java语言进行开发,以 Lucene 为基础建立的全文搜索引起,通过简单的 RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
「什么是Lucene?」
Lucene是一个开源的高性能的全文检索库,由Java语言开发,具有高效性、可伸缩性的特点。
Lucene 最初是由 Doug Cutting 创建,并于2001年成为 Apache软件基金会的一个子项目。
Lucene 能实现全文搜索主要是因为它实现了倒排索引的查询结构。
ES分词使用的是倒排索引。ES自带的分词器默认根据空格进行分词。
如果文章是中文的话,建议采用插件IK中文分词器实现中文内容的分词。
Elasticsearch使用场景
-
日志分析和监控:ES可以收集、存储和分析大量服务器日志数据,监控系统性能和查找故障。
-
搜索引擎:ES可以构建高性能的搜索引擎,用于查询大量文档、网页和其他数据。
-
商业智能和数据分析:ES可以用于处理和分析大量实时数据,以帮助企业做出更明智的决策。
-
安全性分析:ES可以用于收集、存储和分析安全日志数据,帮助您检测安全事件和预防攻击。
-
互联网中间件:ES可以作为互联网应用程序的中间件,用于处理大量动态