zoukankan      html  css  js  c++  java
  • Elasticsearch的简介

    1.生活中的数据分类

    1.结构化数据

    行数据,以二维表的形式展示的数据
    

    2.非结构化数据

    没有具体结构,视频,文本,音乐文件
    

    3.半结构化数据

    xml表格办公软件,HTML
    

    2.搜索的种类

    1.结构化数据搜索

    结构化数据有固定结构,我们会给他建立关系,生成二维表查询
    

    2.非结构化数据搜索

    1.顺序扫描
    2.全文搜索
    

    3.Elasticsearch介绍

    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.部署简单
    
  • 相关阅读:
    matlab中的rng函数
    重装系统的两种方法
    如何用cmd指令清除U盘的PE分区
    python缩进
    matlab处理dat数据
    word空格后整体移动的问题
    窗函数
    去除信号中的直流分量
    第07组 团队Git现场编程实战
    第二次结对编程作业
  • 原文地址:https://www.cnblogs.com/Applogize/p/13472138.html
Copyright © 2011-2022 走看看