1.结构化数据
行数据,以二维表的形式展示的数据
2.非结构化数据
没有具体结构,视频,文本,音乐文件
3.半结构化数据
xml表格办公软件,HTML
1.结构化数据搜索
结构化数据有固定结构,我们会给他建立关系,生成二维表查询
2.非结构化数据搜索
1.顺序扫描
2.全文搜索
1.什么Elasticsearch?
是一个高度可扩展的开源全文搜索和分析引擎,它可实现数据的实时全文搜索搜索、支持分布式可实现高可用、提供API接口,可以处理大规模日志数据,比如Nginx、Tomcat、系统日志等功能。
Elasticsearch是基于lucene开发而来的
# Elasticsearch不能完全代替数据库
# 搜索引擎式数据库
2.ES和数据库结构对比| mysql | ES |
| -------------- | ------------- |
| 库(database) | 索引(index) |
| 表(table) | 类型(type) |
| 列(字段) | 项 |
| 真实数据行 | 文档(doc) |
3.ES原理
1.存储数据时进行全文检索
2.全文检索后建立倒排索引
4.全文检索
将一个数据的内容转化拆分
1.分词
2.找到关键词
3.搜索索引
4.匹配,命中,计算命中率
5.根据命中率进行排序
5.倒排索引
文档1:java 是世界上最好的语言
文档2:php 是世界上最好的语言
文档3:python 是世界上最好的语言
分词后的值(词条) | 文档1 | 文档2 | 文档3 |
---|---|---|---|
java | 命中 | ||
是 | 命中 | 命中 | 命中 |
世界上 | 命中 | 命中 | 命中 |
最好的 | 命中 | 命中 | 命中 |
语言 | 命中 | 命中 | 命中 |
php | 命中 | ||
python | 命中 |
6.倒排索引术语
1.词条:索引最小的存储单位,拆分一组词之后,每一个字或者词
2.词典:词条存储的地方,一般在内存中
3.倒排表:记录多个词命中的次数和顺序
4.倒排文件:存储倒排表的地方,一般在磁盘中
############倒排索引介绍:https://www.cnblogs.com/ajianbeyourself/p/11280247.html########################
7.ES功能
1.分布式存储
2.全文搜索,结构化检索,数据分析
全文搜索:select * from table;
结构化检索:select * from table where id > 1;
数据分析:select count(*) from table;
8.使用场景
1.大量数据存储
2.搜索数据
3.分析数据(ELK)
4.搜索高亮显示
9.ES特点
1.可以部署单点或者集群
2.高性能
3.支持分布式
4.不需要会java
5.功能丰富
6.部署简单
原文:https://www.cnblogs.com/Applogize/p/13472138.html