ES存储学习(未完)

这篇具有很好参考价值的文章主要介绍了ES存储学习(未完)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用户画像项目之ES存储

1. ELK技术栈【ELK生态圈】

对于ELK的概念解释,ELK官网给出的是:“ELK”是三个开源项目的首写字母的缩写,这三个项目分别是:Elastisearch、Logstash和Kibana。Elastisearch 是一个搜索和分析引擎;Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,如何将数据发送到诸如Elastisearch 等的“”“存储库” 中 ;Kibana则可以让用户在Elastisearch 中使用图形和图表对数据进行可视化。
总结:

  • E : 数据存储和分析,是核心组件 ;
  • L : 数据采集和数据格式转换的组件;
  • K : 数据可视化 类似finbi
    官网
  • es官网:https://www.elastic.co/cn/
  • elk官网:https://www.elastic.co/cn/what-is/elk-stack
  • es数据采集组件官网:https://www.elastic.co/cn/beats/

1.1 那ES是什么?

1.1.1 ES的概述:

ES就是Elastisearch;是一个基于java语言作为源码的全文检索引擎,可以存储结构化和非结构化数据,能够实现数据分析和数据存储。

1.1.2 用户画像使用es的作用
  • 使用ES存储用户的用户关联的原始数据
  • 画像最终结果存储,需要使用spark实现针对ES索引的数据插入(upsert)操作,es支持该操作
  • es支持hadoop生态圈技术,可以方便的与hive集成,实现数据从hive采集到es中
1.1.3 ES的应用场景

==注意:数据分析并不是es的强项,存储和全文检索才是他的强项 ==

  • 向应用或网站提供站内搜索功能
  • 存储和分析日志、指标和安全事件数据
  • 支持机器学习实时自动建模数据存储
  • 支持数据存储,来实现自动化业务工作流程
  • 支持地理信息系统(GIS)集成和分析空间信息
  • 支持血缘关系数据,使用图技术解决血缘关系展示和分析
es和mongo都是基于文档对象的非关系新数据库
都支持地理位置搜索功能,数据存储格式为bson => binary json格式
  • Beats
    • 轻量级数据采集插件,可以向 logstash 或 es 提供数据
    • 采集指标类型组件

1.3 ES是全文检索引擎

  • 全文检索
    • 根据词,使用分词器进行拆分,检索到文档中包含该词文档内容和文档数

案例

智能手机 => 搜索词、关键词
   : 使用分词器对词进行拆分
   		: 分词器 
   		: standard标准分词器,英文以空格和逗号划分词,中文单个字进行划分
   		: 中文分词器:jieba、ik分词器,中文分词,让划分后词有含义
   		

当输出:词(智能手机),能检索到包含该词的文档过程叫全文检索


电脑文档1 			存储 => index1_doc1(1)   :数据词:电脑
手机文档2				=> index2_doc1(1)   : 数据词:手机
电脑文档3               => index1_doc2(2)   :数据词: 之前存储过一次,不再存储电脑这个词
手机文档4               => index2_doc2(1)   : 数据词:之前存储过一次,不再存储手机这个词
电脑文档5               => index1_doc3(3)   :数据词: 之前存储过一次,不再存储电脑这个词
  • es和关系型数据库(ROBMS)对比
    • 在es中,索引类型几乎毫无意义,可以把表都当初索引,可以任务库为:default

es存储,大数据,elasticsearch,学习,大数据

1.4 ES是全文检索引擎,不是搜索引擎

  • es不等于全文搜索引擎
    • es包括存储和分析的功能,一般用于站内搜索
  • es是一款基于java编写的开源的全文检索引擎,可以处理结构化和非结构化数据
    • es有自己的索引文件系统,存储数据,数据存储在磁盘上
    • es有自己的分析引擎,可以实现数据分析,有自己的dsl语法,有sql语法,有curl网络http请求语法
  • 搜索引擎
    • 搜索引擎是一款产品
    • 搜索引擎不仅包括全文检索功能,还有爬虫,竞价排名,算法(pagerank:网页排名权重),还有很多其他关联子系统

1.5 ES的应用场景

  • 适用于公司内部网站的搜索功能

    • 如果使用sql实现,效果没有全文检索引擎好,而hive数据库没有分词的功能,数据存储不是索引的形式
    • 适用于数据分析场景
      • 新闻,电商搜索等功能、大文本处理、地理信息数据处理等
    • 适合作为非关系型数据库
      • 存储结构化和非结构化数据
    • 适用于大规模数据存储
      • es支持分布式集群模式,当成非关系新数据库使用
  • es和 hbase,为什么不选hbase

    • hive和hbase都是使用hdfs存储数据,把hive数据导入到hbase中,从hdfs的一个路径导入另一个路径,使用mr中的maptask实现。hbase需要经过mr过程,采用bucket导入数据,过程麻烦
    • hbase数据采集方案比使用es跟复杂

2. 全文检索框架

2.1 Lucene

  • 定义

    • 全文检索工具包,是使用全文检索低级api开发的工具。
    • 低级api:更接近软件底层,需要使用更多的代码实现简单的功能
    • 高级api:远离软件底层,上层有封装,提供访问和操作api
  • Solr

    • 基于lucenc的全文检索框架
    • 是使用全文检索高级api开发工具,可以使用sorl cloud实现分布式集群
      .
  • Elasticsearch

    • 基于lucene的全文检索引擎,使用java做为源语言,可以使用java和python等其他语言

2.2 倒排索引

  • 倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种建立索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。 它是文档检索系统中最常用的数据结构。

    • 一种索引方法,根据词存储词和词找到文档的索引信息过程,叫倒排索引

      • Mysql是基于B+Tree算法建立索引
      • Oracle是基于BitMap算法建立索引
  • 官网案例

    • https://www.elastic.co/guide/cn/elasticsearch/guide/current/inverted-index.html

3.ES服务启动

  • es框架目录结构
    es存储,大数据,elasticsearch,学习,大数据

  • es服务启动后,就会有一个ElasticSearch的java进程

  • 启动:

    • 切换用户: su es (就是切换到普通用户,es不能通过root用户启动)
    • 启动es服务 : elasticsearch -d
    • 退出es用户(回到root用户)
  • es访问页面:

    • es服务器访问端口:9200
  • es的home目录文章来源地址https://www.toymoban.com/news/detail-678315.html

    • /home/es/elasticsearch-7.10.2

4. 操作es服务器的三种方法

4.1 浏览器插件 elasticsearch head

  • 在谷歌浏览器或者edga浏览器的拓展插件中搜索elasticsearch head ,然后安装。重新打开浏览器就可以了。
  • es存储,大数据,elasticsearch,学习,大数据
    点击 elasticsearch head进入
    es存储,大数据,elasticsearch,学习,大数据
    在上面的连接处连接es服务器。
    会显示集群名称“TEFC-Userprofile”
    这个可以在服务器的es的config目录下的配置文件:elasticsearch.yml中
cluster.name: TFEC-UserProfile

4.2 restful api

  • 使用vscode,操作es服务器,创建索引,添加数据,删除索引,删除数据,删除某一条数据
  • 使用vscode安装elasticsearch插件或者使用命令模式操作索引

4.3 使用pycharm操作es

到了这里,关于ES存储学习(未完)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch 系列(六)- ES数据同步和ES集群

    本章将和大家分享ES的数据同步方案和ES集群相关知识。废话不多说,下面我们直接进入主题。 1、数据同步问题 Elasticsearch中的酒店数据来自于mysql数据库,因此mysql数据发生改变时,Elasticsearch也必须跟着改变,这个就是Elasticsearch与mysql之间的数据同步。 在微服务中,负责酒

    2024年04月28日
    浏览(82)
  • elasticsearch es数据迁移es-dump

    由于现在接管了同事的代码,同事的代码操作es时,导致了线上问题,我又对es不熟悉,怕操作影响了其他线上业务,于是现在将es数据复制一版到本地来。 远程es服务elasticsearch.tencent.xxx.com:80 本地es服务192.168.9.102:9200 现在将远程转换为本地,我们采用【elasticdump工具】来进行

    2024年02月11日
    浏览(39)
  • ElasticSearch基础学习(SpringBoot集成ES)

    一、概述 什么是ElasticSearch? ElasticSearch,简称为ES, ES是一个开源的高扩展的 分布式全文搜索引擎 。 它可以近乎实时的 存储、检索 数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB级别 的数据。 ES也使用 Java 开发并使用 Lucene 作为其核心来实现所有索引和搜索的

    2024年02月13日
    浏览(43)
  • Elasticsearch学习-ES中的一些组件介绍

    ES是什么 Elastic Search简称ES, 是一个高性能的全文检索框架。它提供存储、搜索、大数据准实时分析等。一般用于提供复杂搜索的服务。 ES是基于Lucene进行二次开发的一个框架,首先Lucene是一个类库,业务系统中想要使用它,你必须使用Java来作为开发语言并将其直接集成到你

    2024年02月06日
    浏览(40)
  • Elasticsearch学习3-使用RestClient操作es

    JavaREST客户端有两种模式: Java Low Level REST Client:ES官方的低级客户端。低级别的客户端通过http与Elasticearch集群通信。 Java High Level REST Client:ES官方的高级客户端。基于上面的低级客户端,也是通过HTTP与ES集群进行通信。它提供了更多的接口。 此外Spring也对RestClient进行了封装

    2024年02月11日
    浏览(45)
  • es的数据存储结构;近实时查询原因

    es 存储中大体可以看成 index(表) + document(行记录) 组成 es 支持分布式存储,一个 index 会产生多个分片,保存在不同的实例上。其中分为 若干个主分片 和 副分片 。当主分片挂了,会切换到副分片,主分片和副分片的数据是一致的(写的时候先找主分片,读的时候是2者都可

    2024年02月09日
    浏览(35)
  • Elasticsearch学习-ES中文档的基本操作

    一、什么是文档 文档是索引中数据的基本单位,类似于关系型数据库中的一条记录,文档的在ES中以json的数据格式存储。 当一条记录存储到ES中后,ES会为每个文档添加一些除文档内容之外的其他属性信息,用来描述该文档。常用的以用来描述文档的属性有一下这些: _index

    2023年04月08日
    浏览(41)
  • 6步安装elasticsearch-head,链接ES,查看ES数据

    我们工作中会用到elasticsearch,但是怎么查看里面的数据呢?这里介绍使用elasticsearch-head客户端连接ES,共分为6步,即可实现。 前提需要科学上网 话不多说,直接上图: 一、 二、 三、 四、 五、 六、 是不是很简单,给个关注吧,有问题好联系!

    2024年02月11日
    浏览(39)
  • elasticsearch(ES)分布式搜索引擎04——(数据聚合,自动补全,数据同步,ES集群)

    **聚合(aggregations)**可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近

    2024年02月08日
    浏览(47)
  • 【ES数据库】Elasticsearch安装使用

    Elasticsearch 和 MongoDB/Redis 类似,是非关系型数据库,从索引文档到文档能被搜索到只有一个轻微的延迟,是采用Restful API标准的可扩展和高可用的实时数据分析的全文搜索工具 Elastic Search 的实现原理是,利用内置分词器(Analyzer)对数据库文本进行分词,将解析出的和数据

    2024年02月04日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包