elaticsearch(1)

news2024/12/27 13:05:12

1.简介

Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。

Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

2.Solr

基于lucene的全文搜索服务器,提供了比lucene更加丰富的查询语句

Solr可以通过HTML页面管理,使用XML配置达到灵活性和适配性

灵活的插件体系

强大的数据导入功能

3.ElasticSearch与Solr

Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能;

Solr 支持更多格式的数据:html、xml、csv,而 Elasticsearch 仅支持json文件格式;

Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提供;

Solr查询快,但更新索引时慢,多用于电商查询多的应用。Elasticsearch建立索引块(查询慢),实时性查询快,多用于facebook、新浪等搜索

4.ES组成

索引---数据库

类型---表

文档---行/一条记录

ES集群中可以包含多个索引(数据库),每个索引中包含多个类型(表),每个类型又包含多个文档(行),每个文档中又包含了多个字段(列)。

文档:索引和搜索的最小单位

1.自我包含:一个文档包含字段和对应的值,也就是同时拥有key:value

2.层次型:一个文档中还包含一个文档,也就是一个复杂的实体逻辑

3.灵活结构:文档不依赖预先定义的模型,在关系型数据库中,我们需要提前定义字段才能使用,而在ES中,我们可以忽略字段,也可以新添加字段。

类型:文档是类型的逻辑容器,就像关系型数据库中表是行的容器。

类型中对字段的定义是映射,ES中文档是无模式的,但是,当我们新增一个字段时,ES就会根据值猜他的类型,也有可能猜不对,最安全的方式就是提前定义好所需要的映射,这就和关系型数据库类似。

索引:是映射类型的容器。索引中存储了映射字段和其他设置,之后存储到各个分片上。

ES将索引划分为多个分片,每个分片可以在集群中的不同服务器上迁移。

一个集群至少有一个节点,节点代表ES进程,节点有多个索引,一个索引对应5个分片,每个分片有一个副分片,主分片和副分片不在同一节点下面。

每一个分片就是一个lucene索引(一个ES索引包含多个lucene索引),一个包含倒排索引的文件目录,倒排索引的结构使得ES在不扫描全部文件的情况下,就能说明文档包含的特定关键字。

倒排索引(lucene索引底层):

就是按照文章关键字,对应的文档建立索引,根据关键字就可以查询对应的文档,无需查明每个文档。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/898959.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++ 记忆站】引用

文章目录 一、引用概念二、引用特性1、引用在定义时必须初始化2、一个变量可以有多个引用3、引用一旦引用一个实体,再不能引用其他实体 三、常引用四、使用场景1、做参数1、输出型参数2、大对象传参 2、做返回值1、传值返回2、传引用返回 五、传值、传引用效率比较六…

电脑提示msvcp140.dll丢失的解决方法,dll组件怎么处理

Windows系统有时在打开游戏或者软件时, 系统会弹窗提示缺少“msvcp140.dll.dll”文件 或者类似错误提示怎么办? 错误背景: msvcp140.dll是Microsoft Visual C Redistributable Package中的一个动态链接库文件,它在运行软件时提…

Scratch 之 算法教程 -- 递归

递归是指物体表现出相似的重复性。它在生活中很常见,如俄罗斯套娃、汉诺塔游戏、分形图案(科赫雪花、谢尔宾斯三角形等)、两个面对面的镜子、斐波那契数列,二叉树等 在计算机科学中,递归是指函数定义中重复调用自己的行…

【高频面试题】 消息中间件

文章目录 1、RabbitMQ1.1 RabbitMQ-如何保证消息不丢失1.2 RabbitMQ消息的重复消费问题如何解决的1.3 RabbitMQ中死信交换机 ? (RabbitMQ延迟队列有了解过嘛)1.4 RabbitMQ如果有100万消息堆积在MQ , 如何解决(消息堆积怎么解决)1.5 RabbitMQ的高可用机制有了解过嘛 2、Kafka2.…

【数据结构OJ题】有效的括号

原题链接:https://leetcode.cn/problems/valid-parentheses/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 这道题目主要考查了栈的特性: 题目的意思主要是要做到3点匹配:类型、顺序、数量。 题目给的例子是比较…

实现数字化成功:5R模式如何支持车企数字化营销

01 车企进入“大逃杀”时间 汽车行业一边是出口“捷报频传”,一边是内销“压力山大”。 内销的难,在之前中部某省的政府“骨折价”补贴掀起的“价格战”中已经可见一斑。这一颇具标志性的事件反映了汽车行业,尤其是燃油车行业正处在巨大的转…

uni-app 经验分享,从入门到离职(二)—— tabBar 底部导航栏实战篇

文章目录 📋前言⏬关于专栏 🎯关于小程序 tabbar 的一些知识🎯创建一个基本的 tabBar📝最后 📋前言 这篇文章的内容主题是关于小程序的 tabBar 底部导航栏的入门使用和实战技巧。通过上一篇文章的基础,我们…

学习笔记230801--vue项目图片绝对路径和相对路径引入编译加载问题

问题描述&#xff1a; 在组件中引入图片出现了问题,<img>标签的src属性&#xff0c;动态绑定import引入的绝对路径图片或者直接在src静态引入图片绝对路径都可以在页面渲染出来&#xff0c;在浏览器可以看到路径都转成了dataUrl&#xff0c;但是动态绑定图片的绝对路径却…

7.maven

1 初始Maven 1.1 什么是Maven Maven是Apache旗下的一个开源项目&#xff0c;是一款用于管理和构建java项目的工具。 官网&#xff1a;https://maven.apache.org/ Apache 软件基金会&#xff0c;成立于1999年7月&#xff0c;是目前世界上最大的最受欢迎的开源软件基金会&…

DHCPV6试验1:节点自动发现DHCPV6 Server,LLA地址自动配置,GUA地址配通

1、建的拓朴图如下&#xff1a; * 这里&#xff0c;我们没有配置任何DHCPV6&#xff0c;所有的都是测试自动配置的LLA地址 2、配置路由器和PC&#xff1a; 这里我们设置PC1和PC2为DHCPV6自动获取。AR路由器为全局ipv6&#xff0c;并在节点上配置ipv6 enable。 ipv6 interfa…

VB6编程IEEE浮点算法实践

纯代码实现浮点计算实际上对浮点算法的再实践。IEEE浮点表示法是Modbus RTU协议至今还在用的传送编码&#xff0c;更是WITS 1记录标准的基础。以往实现 MKI、CVI&#xff0c;MKL、CVL&#xff0c;MKS、CVS&#xff0c;MKD、CVD在高级语言里封装了现成的语句&#xff0c;现在Pow…

vue3实现扇形展示

vue3实现扇形展示 效果 html部分 <div class"box1"><div class"box"><div class"single" v-for"(item,index) in arr" :key"index":style"transform:rotate(angle[index]deg);transform-origin: 10px…

LLM应用的例子LLM use cases and tasks

您可能会认为LLMs和生成性AI主要关注聊天任务。毕竟&#xff0c;聊天机器人非常受到关注并且备受瞩目。下一个词的预测是许多不同功能背后的基本概念&#xff0c;从基本的聊天机器人开始。 但是&#xff0c;您可以使用这种概念上简单的技术执行文本生成中的其他各种任务。例如…

分布式锁实现方式

分布式锁 1 分布式锁介绍 1.1 什么是分布式 一个大型的系统往往被分为几个子系统来做&#xff0c;一个子系统可以部署在一台机器的多个 JVM(java虚拟机) 上&#xff0c;也可以部署在多台机器上。但是每一个系统不是独立的&#xff0c;不是完全独立的。需要相互通信&#xff…

作为一个产品经理怎么做一个项目的需求文档?(附有需求文档的部分展示)

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于需求文档的相关操作吧 首先&#xff0c;我们需求明确的是&#xff0c;一个产品经理究竟需要做些什么&#xff1f;在项目的阶段中起到哪一些作用 一.编写产品需…

大数据面试题:Spark的任务执行流程

面试题来源&#xff1a; 《大数据面试题 V4.0》 大数据面试题V3.0&#xff0c;523道题&#xff0c;679页&#xff0c;46w字 可回答&#xff1a;1&#xff09;Spark的工作流程&#xff1f;2&#xff09;Spark的调度流程&#xff1b;3&#xff09;Spark的任务调度原理&#xf…

插入排序优化——超越归并排序的超级算法

插入排序及优化 插入排序算法算法讲解数据模拟代码 优化思路一、二分查找二、copy函数 优化后代码算法的用途题目&#xff1a;数星星&#xff08;POJ2352 star&#xff09;输入输出格式输入格式&#xff1a;输出格式 输入输出样例输入样例输出样例 题目讲解步骤如下AC 代码 插入…

GPDB-疑难杂症-PlaceHolderVar

GPDB-疑难杂症-PlaceHolderVar 从GPDB5升级到GPDB6时&#xff0c;遇到以往可以执行的SQL不能执行了。报错&#xff1a;PlaceHolderVar found where not expected!语法不兼容了&#xff1f; postgres# CREATE TABLE t1( id1 int) WITH (appendonlytrue, compresstypenone, b…

@Repeatable的作用以及具体如何使用

文章目录 1. 前言2. 先说结论3. 案例演示 1. 前言 最近无意看到某些注解上有Repeatable&#xff0c;出于比较好奇&#xff0c;因此稍微研究并写下此文章。 2. 先说结论 Repeatable的作用&#xff1a;使被他注释的注解可以在同一个地方重复使用。 具体使用如下&#xff1a; T…

shell脚本文本 三剑客AWK

TOC 一.AWK工具介绍 AWK是一种处理文本文件的语言&#xff0c;是一个强大的文本分析工具可以在无交互的模式下实现复杂的文本操作相较于sed常作用于一整行的处理&#xff0c;awk则比较倾向于一行当中分成数个字段来处理&#xff0c;因为awk相当适合小型的文本数据 1.1AWK命令…