当前位置: 首页 > news >正文

Elasticsearch面试系列-01

1. 什么是 Elasticsearch?

ES是一种开源、RESTful、可扩展的基于文档的搜索引擎,它构建在Lucene库上。

用户使用Kibana就可以可视化使用数据,同时Kibana也提供交互式的数据状态呈现和数据分析。

Apache Lucene搜索引擎基于JSON文档来进行搜索管理和快速搜索。

Elasticsearch,可简称为ES(官方未给出简称名字,很多人都这么叫而已)一种开源、RESTful、可扩展的基于文档的搜索引擎,构建是在Apache Lucene库的基础上的搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。 但是,Lucene只是一个库。想要发挥其强大的作用,需使用Java并要将其集成到应用中。

Elasticsearch是使用Java编写并使用Lucene来建立索引并实现搜索功能,但是它的目的是通过简单连贯的RESTful API让全文搜索变得简单并隐藏Lucene的复杂性。

用户通过JSON格式的请求,使用CRUD的REST API就可以完成存储和管理文本、数值、地理空间、结构化或者非结构化的数据。

Elasticsearch不仅是Lucene和全文搜索引擎,它还提供:

1、分布式的实时文件存储,每个字段都被索引并可被搜索 2、实时分析的分布式搜索引擎 3、可以扩展到上百台服务器,处理PB级结构化或非结构化数据,而且所有的这些功能被集成到一台服务器,应用可以通过简单的RESTful API、各种语言的客户端甚至命令行与之交互。

Elasticsearch非常简单,它提供了许多合理的缺省值,并对初学者隐藏了复杂的搜索引擎理论。开箱即用(安装即可使用),只需很少的学习既可在生产环境中使用。Elasticsearch在Apache 2 license下许可使用,可以免费下载、使用和修改。

2. Elasticsearch 安装前需要什么环境?

ElasticSearch是基于lucence开发的,也就是运行时需要java jdk支持。所以要先安装JAVA环境。

注意:由于ElasticSearch 5.x往后依赖于JDK 1.8及以上版本,安装高版本ES需要考虑与JDK版本的兼容性问题。ElasticSearch早期版本需要JDK,在7.X版本后已经集成JDK,已无需第三方依赖。

3. ElasticSearch 的节点类型有什么区别?

ElasticSearch的节点类型主要包括主节点(Master Node)、数据节点(Data Node)和客户端节点(Client Node)。这些节点类型在ElasticSearch集群中各自扮演着不同的角色,共同协作以支持集群的正常运行。

  1. 主节点:
  • 职责:主节点主要用于控制整个集群的操作,如创建或删除索引,管理其他非主节点等。集群中任何时候只能有一个主节点负责这些任务,但可以有多个候选主节点以防当前主节点失败。
  • 特点:主节点不参与数据的存储和检索操作,因此其硬件资源(如CPU、内存、磁盘)的要求相对较低。在大型集群中,通常会使用专用的主节点来提高集群的稳定性。
  1. 数据节点:
  • 职责:数据节点主要用于存储索引数据,并执行与数据相关的操作,如文档的增删改查(CRUD)、搜索和聚合等。数据节点的数量和性能直接影响Elasticsearch的数据处理能力。
  • 特点:数据节点对硬件资源的要求较高,特别是在处理大量数据和高并发请求时。因此,在优化Elasticsearch集群时,需要监控数据节点的状态,并根据需要添加新的数据节点。
  1. 客户端节点:
  • 职责:当主节点和数据节点配置都设置为false的时候,该节点只能处理路由请求,处理搜索,分发索引操作等。它本质上是一个智能负载平衡器,协调主节点和数据节点的工作。客户端节点加入集群后可以获取集群的状态,并根据集群状态直接路由请求。
  • 特点:客户端节点不存储数据,也不参与数据的索引和检索操作。它主要用于处理来自客户端的请求,并将请求分发到合适的数据节点进行处理。因此,客户端节点的硬件资源要求相对较低。

总的来说,ElasticSearch的节点类型在职责和特点上有所区别。主节点负责集群的控制和管理,数据节点负责数据的存储和检索,而客户端节点则负责协调和处理客户端请求。这些节点类型共同协作,使得ElasticSearch集群能够高效地处理大量数据和高并发请求。

4. 说说 ElasticSearch 生产集群节点分配方案?

1、针对节点按照分工职责进行划分;

2、生产集群建议部署3台以上单独作为master节点,只负责成为主节点,维护整个集群的状态。

3、设置一批data节点,负责存储数据、建立索引和查询索引服务。对磁盘,内存要求相对较高。

4、设置一批client节点,只负责处理用户请求,实现请求转发,负载均衡等功能。<

相关文章:

Elasticsearch面试系列-01

1. 什么是 Elasticsearch? ES是一种开源、RESTful、可扩展的基于文档的搜索引擎,它构建在Lucene库上。 用户使用Kibana就可以可视化使用数据,同时Kibana也提供交互式的数据状态呈现和数据分析。 Apache Lucene搜索引擎基于JSON文档来进行搜索管理和快速搜索。 Elasticse…...

QT tableWidget横向纵向设置

横向控件 要设置QTabWidget选项卡的字体方向&#xff0c;可以使用QTabWidget的setTabPosition()方法。通过传递Qt枚举值QTabWidget.east或QTabWidget.west作为参数&#xff0c;可以设置选项卡的字体方向为从左到右或从右到左。 myTabWidget QTabWidget() myTabWidget.setTabP…...

Unity Mesh简化为Cube mesh

Mesh简化为Cube mesh &#x1f373;食用&#x1f959;子物体独立生成CubeMesh&#x1f96a;合并成一个CubeMesh&#x1f32d;Demo &#x1f373;食用 下载并导入插件&#x1f448;即可在代码中调用。 &#x1f959;子物体独立生成CubeMesh gameObject.ToCubeMesh_Invidual()…...

openGauss学习笔记-249 openGauss性能调优-使用Plan Hint进行调优-Join顺序的Hint

文章目录 openGauss学习笔记-249 openGauss性能调优-使用Plan Hint进行调优-Join顺序的Hint249.1 功能描述249.2 语法格式249.3 参数说明249.4 示例 openGauss学习笔记-249 openGauss性能调优-使用Plan Hint进行调优-Join顺序的Hint 249.1 功能描述 指明join的顺序&#xff0…...

大规模预训练语言模型的可解释性研究与实践

1. 背景介绍 随着深度学习技术的发展&#xff0c;大规模预训练语言模型&#xff08;Large-scale Pre-trained Language Models, LPLMs&#xff09;在自然语言处理领域取得了显著的成果。这些模型通常通过在大规模文本语料库上进行无监督预训练&#xff0c;然后微调到特定任务上…...

Rust常用库之序列化和反序列化库serde(使用 Serde 处理json)

文章目录 Rust常用库之序列化和反序列化库serde&#xff08;使用 Serde 处理json&#xff09;什么是serde库设计使用 Serde 处理jsonr# 的使用 参考 Rust常用库之序列化和反序列化库serde&#xff08;使用 Serde 处理json&#xff09; 什么是serde库 官网&#xff1a;https:/…...

java设计模式(2)---六大原则

设计模式之六大原则 这篇博客非常有意义&#xff0c;希望自己能够理解的基础上&#xff0c;在实际开发中融入这些思想&#xff0c;运用里面的精髓。 先列出六大原则&#xff1a;单一职责原则、里氏替换原则、接口隔离原则、依赖倒置原则、迪米特原则、开闭原则。 一、单一职…...

数学建模(层次分析法 python代码 案例)

目录 介绍: 模板: 例题:从景色、花费、饮食,男女比例四个方面去选取目的地 准则重要性矩阵: 每个准则的方案矩阵:​ 一致性检验: 特征值法求权值: 完整代码: 运行结果: 介绍:...

Gitlab介绍

1.什么是Gitlab GitLab是一个流行的版本控制系统平台&#xff0c;主要用于代码托管、测试和部署。 GitLab是基于Git的一个开源项目&#xff0c;它提供了一个用于仓库管理的Web服务。GitLab使用Ruby on Rails构建&#xff0c;并提供了诸如wiki和issue跟踪等功能。它允许用户通…...

Amuse .NET application for stable diffusion

Amuse github地址&#xff1a;https://github.com/tianleiwu/Amuse .NET application for stable diffusion, Leveraging OnnxStack, Amuse seamlessly integrates many StableDiffusion capabilities all within the .NET eco-system Welcome to Amuse! Amuse is a profes…...

【机器学习-05】模型的评估与选择

在前面【机器学习-01】机器学习基本概念与建模流程的文章中我们已经知道了机器学习的一些基本概念和模型构建的流程&#xff0c;本章我们将介绍模型训练出来后如何对模型进行评估和选择等 1、 误差与过拟合 学习器对样本的实际预测结果与真实值之间的差异&#xff0c;我们称之…...

【11】工程化

一、为什么需要模块化 当前端工程到达一定规模后,就会出现下面的问题: 全局变量污染 依赖混乱 上面的问题,共同导致了代码文件难以细分 模块化就是为了解决上面两个问题出现的 模块化出现后,我们就可以把臃肿的代码细分到各个小文件中,便于后期维护管理 前端模块化标准…...

Python中requests、aiohttp、httpx性能对比

在Python中&#xff0c;有许多用于发送HTTP请求的库&#xff0c;其中最受欢迎的是requests、aiohttp和httpx。这三个库的性能和功能各不相同&#xff0c;因此在选择使用哪个库时&#xff0c;需要考虑到自己的需求和应用场景。 首先&#xff0c;让我们来了解一下这三个库的基本…...

网络原理(5)——IP协议(网络层)

目录 一、IP协议报头介绍 1、4位版本 2、4位首部长度 3、8位服务器类型 4、16位总长度 5、16位标识位 6、3位标志位 7、13位偏移量 8、8位生存空间 9、8位协议 10、16位首部检验和 11、32位源IP地址 12、32位目的IP地址 二、IP协议如何管理地址&#xff1f; 1、动…...

GE IS200AEPAH1BKE IS215WEPAH2BB是两种不同的压力测量模块

GE IS200AEPAH1BKE和IS215WEPAH2BB是两种不同的压力测量模块&#xff0c;它们都属于GE&#xff08;通用电气&#xff09;公司的产品。 具体来说&#xff0c;以下是这两种模块的一些特点和应用&#xff1a; IS200AEPAH1BKE&#xff1a;这款模块适用于需要高性价比的压力测量应用…...

Rust 与 C++ ,孰优孰劣?

Rust 与 C 是两种高级系统级编程语言&#xff0c;它们都在追求性能、控制底层硬件细节的同时强调安全性。以下是两者的详细对比&#xff1a; 目标与理念 Rust&#xff1a;由 Mozilla 主导开发&#xff0c;目标是构建一种既快速又安全的系统级编程语言&#xff0c;特别是解决 C…...

MySQL、Oracle的时间类型字段自动更新:insert插入、update更新时,自动更新时间戳

1.MySQL 支持的字段类型&#xff1a;DATETIME、TIMESTAMP drop table if exists test_time_auto_update; create table test_time_auto_update (id bigint auto_increment primary key comment 自增id,name varchar(8) …...

Testng框架集成新业务

总体框架设计见我另一篇博客&#xff1a;httpclienttestng接口自动化整体框架设计 <block&#xff1a;表示测试用例块> block后面是 测试用例的名称 ||接口名,该接口名在URL.txt里维护接口 ||get\post&#xff1a;表示请求的方法 get_1\2\3\4&#xff1a;代表加密 get: …...

springboot 单元测试

Spring Boot 单元测试是确保代码质量的重要部分&#xff0c;它允许我们在不实际启动整个应用的情况下测试我们的代码。在Spring Boot中&#xff0c;我们通常使用Spring Test模块和JUnit测试框架来编写单元测试。以下是一个简单的Spring Boot单元测试的详细代码介绍&#xff1a;…...

LeetCode---126双周赛

题目列表 3079. 求出加密整数的和 3080. 执行操作标记数组中的元素 3081. 替换字符串中的问号使分数最小 3082. 求出所有子序列的能量和 一、求出加密整数的和 按照题目要求&#xff0c;直接模拟即可&#xff0c;代码如下 class Solution { public:int sumOfEncryptedInt…...

BetterNCM-Installer技术指南:从部署到定制的全方位解决方案

BetterNCM-Installer技术指南&#xff1a;从部署到定制的全方位解决方案 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 核心功能解析 1.1 插件架构概览 痛点&#xff1a;用户常因不…...

Cursor Free VIP开源工具:Cursor功能扩展完整技术指南

Cursor Free VIP开源工具&#xff1a;Cursor功能扩展完整技术指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your tri…...

终极解决方案:Windows 10 OneDrive 彻底卸载专业指南

终极解决方案&#xff1a;Windows 10 OneDrive 彻底卸载专业指南 【免费下载链接】OneDrive-Uninstaller Batch script to completely uninstall OneDrive in Windows 10 项目地址: https://gitcode.com/gh_mirrors/on/OneDrive-Uninstaller 在Windows 10系统中&#xf…...

searchall工具全指南:安装部署+编译构建+实战使用

一、工具简介 searchall是一款专注于敏感信息扫描的开源工具&#xff0c;核心功能是快速检索文件中的账号、密码、API密钥等敏感数据&#xff0c;同时支持解密浏览器保存的账户密码&#xff0c;适配Windows、Linux、macOS三大系统。其优势在于轻量易用、精准高效&#xff0c;本…...

YOLO12实战体验:上传图片秒出结果,80类物体识别全解析

YOLO12实战体验&#xff1a;上传图片秒出结果&#xff0c;80类物体识别全解析 1. 初识YOLO12&#xff1a;新一代实时目标检测利器 YOLO12作为Ultralytics在2025年推出的最新目标检测模型&#xff0c;继承了YOLO系列"快、准、狠"的特点。相比前代YOLOv11&#xff0c…...

EPON OLT光模块RSSI精度优化方案解析

1. EPON OLT光模块基础原理 EPON&#xff08;以太网无源光网络&#xff09;系统中&#xff0c;OLT&#xff08;光线路终端&#xff09;光模块扮演着核心角色。简单来说&#xff0c;它就像小区宽带的总闸门&#xff0c;负责把数据分发给各家各户的ONU&#xff08;光网络单元&…...

Competitive Companion全链路解决方案:编程竞赛效率提升指南

Competitive Companion全链路解决方案&#xff1a;编程竞赛效率提升指南 【免费下载链接】competitive-companion Browser extension which parses competitive programming problems 项目地址: https://gitcode.com/gh_mirrors/co/competitive-companion 一、工具定位与…...

百川2-13B中文优势:OpenClaw在古籍数字化中的实践案例

百川2-13B中文优势&#xff1a;OpenClaw在古籍数字化中的实践案例 1. 项目背景与需求 去年参与一个民间古籍保护项目时&#xff0c;遇到了一个棘手问题&#xff1a;团队收集了大量民国时期的线装书扫描件&#xff0c;但数字化过程异常艰难。这些古籍多为繁体竖排、无标点断句…...

YOLOv13 前瞻:YOLO 最新改进方向与模块预测(独家分析)

YOLOv13 真的来了吗&#xff1f;如果来了&#xff0c;它会是什么样子&#xff1f; 这是2026年以来&#xff0c;目标检测圈里最热的一个话题。根据 CSDN 社区 2026 年 1-3 月的讨论热度统计&#xff0c;“YOLOv13”相关关键词的搜索量在短短三个月内增长了近 5 倍&#xff0c;开…...

Awoo Installer:Switch游戏安装全场景解决方案的技术突破与实践指南

Awoo Installer&#xff1a;Switch游戏安装全场景解决方案的技术突破与实践指南 【免费下载链接】Awoo-Installer A No-Bullshit NSP, NSZ, XCI, and XCZ Installer for Nintendo Switch 项目地址: https://gitcode.com/gh_mirrors/aw/Awoo-Installer Awoo Installer作为…...