【创作赢红包】ElasticSerach基础概念知识梳理

这篇具有很好参考价值的文章主要介绍了【创作赢红包】ElasticSerach基础概念知识梳理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【创作赢红包】ElasticSerach基础概念知识梳理

目录

ES概念介绍

1、ES核心概念组成

2、ES数据类型介绍

2.1 字符串型

2.2 数值型

2.3 布尔型 boolean

2.4 二进制类型 binary

2.5 范围类型

2.6 日期型 date

2.7 复杂数据类型

3、特点

4、应用场景举例


ES概念介绍

Elaticsearch,简称为ES, ES是一个开源的高扩展的分布式全文搜索引擎,是整个Elastic Stack技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。

1、ES核心概念组成

【创作赢红包】ElasticSerach基础概念知识梳理

  • 引 index:一个索引相当于一个关系数据库的数据库
  • 类型 type:一种type相当于关系数据库的一类数据表,在ES 7.x默认type为_doc

        ES 5.x中一个索引(index)可以有多种type

        ES 6.x中一个索引(index)只能有一种type

        ES 7.x版本以后,将逐步淡化type这个概念,现在的操作已经不再使用,默认_doc

  • 映射 mapping:mapping定义了每个字段的类型、字段所使用的分词器信息。相当于关系型数据库中的表结构。
  • 文档 document:一个document相当于关系型数据库中数据表的一行记录
  • 倒排索引:一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词都有包含它的文档id列表
  • 字段 field:相当于关系型数据库表的字段名称

2、ES数据类型介绍

2.1 字符串型

text:用于全文索引,该类型的字段将通过分词器 进行分词

keyword:不进行分词,只能搜索该字段的完整的值

2.2 数值型

long, integer, short, byte, double, float, half_float, scaled_float

2.3 布尔型 boolean

boolean JSON 中的 “true”、“false”、true、false 都可以

2.4 二进制类型 binary

该类型的字段把值当做经过 base64 编码的字符串,默认不存储,且不可搜索

2.5 范围类型

范围类型表示值是一个范围,而不是一个具体的值

integer_range, float_range, long_range, double_range, date_range

比如:age 的类型是 integer_range,如果存储的值是 {"gte" : 18, "lte" : 90};搜索 "term" : {"age": 60} 可以查询到该值

2.6 日期型 date

因为Json没有date类型,所以es通过识别字符串是否符合format定义的格式来判断是否满足date类型

format默认为:strict_date_optional_time||epoch_millis

"2023-01-31" "2023/01/31 12:10:30" 类似这种字符串格式

2.7 复杂数据类型

  • 数组:[ ] Nested: nested (数组类型的JSON对象)

比如:[ { "name": "小张", "age": 30 }, { "name": "小李", "age": 35 }]

  • 对象:{ } Object: object(单个JSON对象)

比如:{ "name": "小李", "age": 35 }

3、特点

分布式架构:Elasticsearch采用分布式架构,可以在多个节点上分散存储和处理数据,从而提高了数据的可伸缩性和可用性。
实时性:Elasticsearch可以实时地存储和处理数据,使得应用程序可以快速地捕捉和分析实时数据。
自动分片和复制:Elasticsearch可以自动将数据分片,并将数据复制到多个节点上,从而提高了数据的可用性和可靠性。
多种数据格式支持:Elasticsearch支持多种数据格式,包括JSON、XML、CSV等,可以处理各种类型的数据。
搜索和分析:Elasticsearch可以通过简单的API实现全文搜索和复杂的分析,从而可以快速地分析和理解大量的数据。
支持多个搜索引擎:Elasticsearch支持多个搜索引擎,可以同时处理多个搜索请求,从而提高了搜索的性能和效率。
简单易用:Elasticsearch具有简单易用的API和管理工具,使得开发者可以轻松地使用和管理Elasticsearch。
开源免费:Elasticsearch是开源免费的,可以自由地使用和修改,从而满足不同的需求。

4、应用场景举例

网站搜索:Elasticsearch可以用于构建高性能的网站搜索引擎,例如Google、Bing等。在搜索请求中,Elasticsearch可以快速地处理数十亿甚至数百亿的文档,从而提供高性能的搜索服务。

日志分析:Elasticsearch可以用于对日志文件进行搜索和分析,例如Apache、Nginx等。在日志分析中,Elasticsearch可以快速地找到关键字和趋势,帮助用户提高业务效率。

数据分析:Elasticsearch可以用于数据分析和挖掘,例如Facebook、Twitter等。在Facebook和Twitter等社交媒体平台上,每天都会产生海量的数据,Elasticsearch可以快速地处理和分析这些数据,从而发现用户的兴趣、习惯等,为企业提供更好的服务。

物联网:Elasticsearch可以用于物联网设备的数据存储和分析,例如智能家居、智能交通等。在智能家居和智能交通中,每天都会产生大量的数据,Elasticsearch可以将这些数据存储在分布式的节点上,从而实现设备的智能化控制和管理。

数据库备份:Elasticsearch可以用于数据库备份和恢复,例如MySQL、Oracle等。在数据库备份和恢复中,Elasticsearch可以将数据快速地存储在分布式的节点上,从而保证数据的安全性和可用性。

搜索引擎:Elasticsearch可以用于构建高性能的搜索引擎,例如谷歌、百度等。在搜索引擎中,Elasticsearch可以提供全文搜索和复杂的分析功能,帮助用户快速地找到所需的信息。文章来源地址https://www.toymoban.com/news/detail-425499.html

到了这里,关于【创作赢红包】ElasticSerach基础概念知识梳理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 多线程基础知识点梳理

    进程(process):进程是计算机中的一个任务,比如打开浏览器、IntelliJ IDEA。 线程(thread):线程是进程内部的子任务。比如IDEA在敲代码的同时还能自动保存、自动导包,都是子线程做的。 进程和线程的关系就是一个进程包含一个或多个线程。 线程是操作系统调度的最小任

    2024年02月04日
    浏览(33)
  • 【创作赢红包】Git Merge 深入解析

    目录 前言 一、Git Merge 基本概念 1.1 Git 分支 1.2 Git Merge 简介 1.3 合并冲突 二、Git Merge 实践操作 2.1 创建和切换分支 2.2 合并分支 2.3 解决合并冲突 三、Git Merge 高级技巧 3.1 合并策略 3.2 合并选项 3.3 使用 Rebase 代替 Merge 四、Git Merge 常见问题与解答 总结 Git 是一个分布式版本控制

    2024年02月03日
    浏览(22)
  • Node.js知识梳理(一)——基础

    以下内容来自对《从前端到全栈》一书的学习记录~ 学习的时候用的是 V16.20.0 , 18+ 之后的语法差别还是有的~ Node.js 是运行在操作系统中的 JavaScript 运行时环境,和浏览器的运行环境不太一样: 不具备浏览器提供的 DOM API ,比如 Window 对象、 Location 对象、 Document 对象、 HTM

    2024年02月13日
    浏览(30)
  • VUE3基础知识梳理

    官方文档:https://cn.vuejs.org/guide/essentials/event-handling.html Vue(发音为 vju:/,类似 view) 是一款用于构建用户界面的JavaScript 框架。 它基于标准 HTML、CSS 和JavaScript 构建,并提供了一套声明式的、 组件化的编程模型,帮助你高效地开发用户界面。 无论是简单还是复杂的界面,Vue 都

    2024年02月07日
    浏览(40)
  • 【创作赢红包】LeetCode:232. 用栈实现队列

    🍎道阻且长,行则将至。🍓 🌻算法,不如说它是一种思考方式🍀 算法专栏: 👉🏻123 题目描述 :请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列

    2023年04月12日
    浏览(33)
  • 【创作赢红包】Python第3章 流程控制

    进行程序设计时,复杂问题的求解通常需要通过流程进行控制。程序的流程控制可归纳为三种:顺序结构、分支(选择)结构和循环结构。每一个结构化的程序都可以由这三种结构组合或嵌套而成。这种程序设计方法,使程序具有良好的可读性和可维护性。 本章在讲解常用运

    2024年01月23日
    浏览(25)
  • 【创作赢红包】网络安全——传输层安全协议(2)

    作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一. SSL握手协议 1.SSL握手协议概述 (1)第一阶段——“密钥等信息交换阶段” (2)第二阶段——“用户身份认证阶段

    2024年02月02日
    浏览(29)
  • 【创作赢红包】Java多线程:synchronized锁方法块

    synchronized同步代码块 用synchronized声明方法在某些情况下是有弊端的,比如A线程调用同步方法执行一个较长时间的任务,那么B线程必须等待比较长的时间。这种情况下可以尝试使用synchronized同步语句块来解决问题。看一下例子:     运行结果,分两部分来看: synchr

    2023年04月09日
    浏览(29)
  • 【创作赢红包】Nginx四——Nginx实现负载均衡的多种策略

    【Nginx一】——Nginx介绍(正向代理 反向代理 负载均衡 动静分离) 【Nginx二】——Nginx常用命令 配置文件 Nginx如何处理请求 【Nginx三】——Nginx实现反向代理 本篇博客主要介绍Nginx实现负载均衡的多种策略,包括轮询、最少连接、IP哈希、加权轮询、URL哈希。 Nginx可以通过反

    2023年04月09日
    浏览(29)
  • 【创作赢红包】JDBC的“那些事“之数据库连接池

    Mysql版本:8.0.26 可视化客户端:sql yog 编译软件:IntelliJ IDEA 2019.2.4 x64 运行环境:win10 家庭中文版 jdk版本:1.8.0_361 Druid是阿里巴巴开源的一个高性能的JDBC连接池,它不仅提供了基本的连接池功能,还具有SQL监控,防御SQL注入攻击,数据源监控,配置灵活等优点,往往是是开发

    2023年04月09日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包