es相关介绍:yml配置、基础接口及方法介绍

下面是一个示例的 Easy-ES 的 YAML 配置文件:

easy-es:enable: trueaddress: 192.168.1.145:9200username: your_usernamepassword: your_passwordconnectionTimeout: 5000socketTimeout: 60000maxRetryTimeout: 30000maxConnTotal: 30maxConnPerRoute: 10requestConfig:connectTimeout: 5000socketTimeout: 60000connectionRequestTimeout: 5000

解释一下各个配置项的含义:

enable: 是否启用 Easy-ES,设置为 true 表示启用。
address: Elasticsearch 服务器的地址和端口。
username: Elasticsearch 服务器的用户名(可选)。
password: Elasticsearch 服务器的密码(可选)。
connectionTimeout: 连接 Elasticsearch 的超时时间,单位为毫秒。
socketTimeout: 与 Elasticsearch 进行通信的套接字的超时时间,单位为毫秒。
maxRetryTimeout: 最大的重试超时时间,即在重试期间最多等待的时间,单位为毫秒。
maxConnTotal: 允许的最大连接数。
maxConnPerRoute: 每个目标主机允许的最大连接数。
requestConfig: 请求配置相关的参数。connectTimeout: 请求连接的超时时间,单位为毫秒。socketTimeout: 等待响应的超时时间,单位为毫秒。connectionRequestTimeout: 从连接管理器获取连接的超时时间,单位为毫秒。

根据实际情况,你可以根据上述示例进行相应的配置,确保 Easy-ES 能够正确连接到你的 Elasticsearch 服务器。

当 Easy-ES 配置完毕后,createIndex() 方法将会自动连接 Elasticsearch。

Easy-ES 通过在 Spring Boot 启动类中自动配置 RestHighLevelClient 对象来连接 Elasticsearch。而在 RestHighLevelClient 对象的创建过程中,就已经将 address 参数传入其中,这样就实现了自动连接 Elasticsearch 的功能。

至于 UmsSmsClientEsMapper 接口中的方法,它们操作的是 Elasticsearch 中的索引,与数据库表无关。在 Easy-ES 中,我们可以通过继承 BaseEsMapper 接口来实现对 Elasticsearch 索引的增删改查操作,这些操作都是基于 Elasticsearch 的 API 实现的。

9200端口和5601端口区别:

http://192.168.1.145:9200/ 是Elasticsearch的API端点。Elasticsearch是一个分布式搜索和分析引擎,用于存储和检索大量数据。这个URL地址可以用于与Elasticsearch进行交互,执行各种搜索、索引和管理操作。http://192.168.1.145:5601/ 是Kibana的Web界面。Kibana是一个开源的数据可视化工具,用于在Elasticsearch上分析和可视化数据。通过这个URL地址,您可以访问Kibana的仪表板、图表和查询工具,以便更好地理解和呈现存储在Elasticsearch中的数据。

因此,两个URL地址提供了不同的功能和用途,分别用于与Elasticsearch和Kibana进行交互。

<dependency><groupId>org.dromara.easy-es</groupId><artifactId>easy-es-boot-starter</artifactId><version>2.0.0-beta3</version>
</dependency>

org.dromara.easy-es:easy-es-boot-starter:2.0.0-beta3 是 Easy-ES 的 Spring Boot Starter 依赖,它是一个用于简化 Elasticsearch 操作的框架。在这个依赖中,BaseEsMapper 是其中一个重要的类。

BaseEsMapper 是 Easy-ES 框架中的一个基础接口,用于定义 Elasticsearch 操作的基本方法。它提供了一系列的增删改查方法,用于操作 Elasticsearch 中的文档。具体而言,BaseEsMapper 包含以下方法:

getEntityClass(): 返回当前泛型实体类的类型。
existsIndex(String indexName): 检查给定名称的索引是否存在。
getIndex(): 获取默认索引的信息。
getIndex(String indexName): 获取给定名称的索引的信息。
createIndex(): 创建默认索引。
createIndex(String indexName): 创建给定名称的索引。
createIndex(Wrapper<T> wrapper): 根据给定的索引配置信息创建索引。
updateIndex(Wrapper<T> wrapper): 更新指定索引的配置信息。
deleteIndex(String... indexNames): 删除指定名称的索引。
refresh(): 刷新所有索引。
refresh(String... indexNames): 刷新指定名称的索引。
executeSQL(String sql): 执行 SQL 语句。
executeDSL(String dsl): 执行 DSL 语句。
executeDSL(String dsl, String indexName): 在指定索引上执行 DSL 语句。
search(Wrapper<T> wrapper): 根据给定的查询条件进行搜索。
getSearchSourceBuilder(Wrapper<T> wrapper): 获取用于查询的 SearchSourceBuilder 对象。
search(SearchRequest request, RequestOptions options) throws IOException: 根据给定的 SearchRequest 和 RequestOptions 进行搜索。
scroll(SearchScrollRequest request, RequestOptions options) throws IOException: 根据给定的 SearchScrollRequest 和 RequestOptions 进行滚动查询。
getSource(Wrapper<T> wrapper): 获取查询条件对应的 JSON 字符串。
pageQuery(Wrapper<T> wrapper, Integer pageNum, Integer pageSize): 分页查询。
searchAfterPage(Wrapper<T> wrapper, List<Object> searchAfter, Integer pageSize): 使用 search_after 方式进行分页查询。
selectCount(Wrapper<T> wrapper): 统计符合条件的数据条数。
selectCount(Wrapper<T> wrapper, boolean useAggregation): 统计符合条件的数据条数,可指定是否使用聚合查询。
insert(T entity): 插入一条数据。
insert(T entity, String... indexNames): 在指定索引上插入一条数据。
insertBatch(Collection<T> entities): 批量插入数据。
insertBatch(Collection<T> entities, String... indexNames): 在指定索引上批量插入数据。
deleteById(Serializable id): 根据 ID 删除一条数据。
deleteById(Serializable id, String... indexNames): 在指定索引上根据 ID 删除一条数据。
deleteBatchIds(Collection<? extends Serializable> ids): 根据 ID 批量删除数据。
deleteBatchIds(Collection<? extends Serializable> ids, String... indexNames): 在指定索引上根据 ID 批量删除数据。
delete(Wrapper<T> wrapper): 根据条件删除数据。
updateById(T entity): 根据 ID 更新一条数据。
updateById(T entity, String... indexNames): 在指定索引上根据 ID 更新一条数据。
updateBatchByIds(Collection<T> entities): 根据 ID 批量更新数据。
updateBatchByIds(Collection<T> entities, String... indexNames): 在指定索引上根据 ID 批量更新数据。
update(T entity, Wrapper<T> wrapper): 根据条件更新数据。
selectById(Serializable id): 根据 ID 查询一条数据。
selectById(Serializable id, String... indexNames): 在指定索引上根据 ID 查询一条数据。
selectBatchIds(Collection<? extends Serializable> ids): 根据 ID 批量查询数据。
selectBatchIds(Collection<? extends Serializable> ids, String... indexNames): 在指定索引上根据 ID 批量查询数据。
selectOne(Wrapper<T> wrapper): 根据条件查询一条数据。
selectList(Wrapper<T> wrapper): 根据条件查询数据列表。
setCurrentActiveIndex(String indexName): 设置当前活跃的索引名称。

BaseEsMapper 还可以通过编写自定义接口继承它,实现更加灵活和具体的 Elasticsearch 操作。

通过使用 BaseEsMapper,你可以方便地进行 Elasticsearch 的增删改查操作,并且 Easy-ES 还提供了更多的功能和扩展点,帮助你更好地处理 Elasticsearch 相关的业务需求。

使用代码示例:

@Mapper
public interface UmsSmsClientEsMapper extends BaseEsMapper<UmsSmsEsClient> {
}

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

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

相关文章

python基于flask实现一个文本问答系统

from flask import Flask, render_template, requestapp Flask(__name__)# 一个简单的问题-答案映射&#xff0c;实际中可以使用更复杂的存储结构&#xff08;数据库等&#xff09; qa_pairs {"什么是人工智能&#xff1f;": "人工智能是模拟人类智能的一种机…

如何实现服务器主动向客户端推送实时数据

当需要实现服务器主动向客户端推送实时数据时&#xff0c;Server-Sent Events&#xff08;SSE&#xff09;是一种简单且有效的解决方案。本文将介绍如何使用Server-Sent Events&#xff0c;在后端使用Spring Boot实现&#xff0c;在前端使用Vue 3实现&#xff0c;并提供一个完整…

全志R128系统RTOS使用说明

使用串口访问设备 使用USB TypeC 连接线连接开发板 USB转串口 的接口&#xff0c;安装串口驱动程序&#xff1a;CH341SER.EXE 到设备管理器找到需要的串口&#xff0c;这里是 COM8 使用串口访问工具 PuTTY 打开串口&#xff0c;这里是 COM8&#xff0c;波特率 115200。 打开之后…

求海岸线-dfs

小莱获得了大奖&#xff1a;CM世界中一片 n m n \times m nm 的海域的使用权&#xff01;这片海域可以看成 n m n \times m nm 的格子。其中每个格子要么是海&#xff0c;要么是岛屿&#xff0c;相邻的岛屿可以相互构成一片大的岛屿&#xff08;相邻是指上下左右相连&#…

添加一个编辑的小功能(PHP的Laravel)

一个编辑的按钮可以弹出会话框修改断更天数 前台 加一个编辑按钮的样式&#xff0c;他的名字是固定好的 之前有人封装过直接用就好&#xff0c;但是一定放在class里面&#xff0c;不要放在id里面 看见不认识的方法一定要去看里面封装的是什么 之前就是没有看&#xff0c;所以…

CSS学习之-02

position&#xff1a;该属性指定了元素的定位类型 static&#xff1a;默认值&#xff0c;即没有定位&#xff0c;准寻正常的文档流对象&#xff0c;该定位不会受到top、bottom、left、right影响。 fixed&#xff1a;元素的位置相对于浏览器窗口是固定的&#xff0c;即使窗口滚…

吴恩达DeepLearning 2023学习目录

课程链接&#xff1a;https://space.bilibili.com/253734135/channel/collectiondetail?sid2022897 笔记下载&#xff1a;https://github.com/QueenJuliaZxx/deeplearning_ai_books L1 神经网络和深度学习 第一周 深度学习概论&#xff1a; 学习驱动神经网络兴起的主要技术趋…

如果PostgreSQL有两层nginx代理,会发生什么事?

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 1. 前言 PostgreSQL默认只能本机连接&#xff0c;若要在别的客户端远程连接pgsql&#xff0c;则需要修改配置文件pg_hba.conf&a…

Flutter中的StatelessWidget和StatefulWidget简介与使用

Flutter是一款流行的跨平台移动应用开发框架&#xff0c;它使用Dart语言编写。在Flutter中&#xff0c;StatelessWidget和StatefulWidget是两个重要的概念&#xff0c;用于构建用户界面。 1. StatelessWidget 什么是StatelessWidget&#xff1f; StatelessWidget是Flutter中…

如何将ElementUI组件库中的时间控件迁移到帆软报表中

需求:需要将ElementUI组件库中的时间控件迁移到帆软报表中,具体为普通报表的参数面板中,填报报表的组件中,决策报表的组件与参数面板中。 这三个场景中分别需要用到帆软报表二开平台的ParameterWidgetOptionProvider,FormWidgetOptionProvider,CellWidgetOptionProvider开…

无心剑小诗《银婚颂》

银婚颂 二十五个春秋共一轮 你是岁月赠予我最亮的星辰 从青春燃烧到岁月沉稳 你的笑颜,我永恒的晨昏 春花烂漫是你眼里的璀璨 夏日蝉鸣是彼此故事的和弦 秋叶纷飞诉说漫天情缘 冬雪纯洁见证温暖的牵绊 月光洒满每段共享小径 星光点染每个深情的夜晚 风雨同舟铸就铜墙铁壁 携…

书生·浦语大模型实战1

书生浦语大模型全链路开源体系 视频链接&#xff1a;书生浦语大模型全链路开源体系_哔哩哔哩_bilibili 大模型之所以能收到这么高的关注度&#xff0c;一个重要原因是大模型是发展通用人工智能的重要途径 深度信念网络&#xff1a; &#xff08;1&#xff09;又被称为贝叶斯网…

科技助力教育:数字化如何改变家校社协同育人?

近年来,随着社会的快速发展,教育的责任已不再仅局限于学校。家庭、学校和社会协同育人理念,正成为促进教育高质量发展的关键要素。 2023年初,教育部等十三部门联合印发《关于健全学校家庭社会协同育人机制的意见》,提出到“十四五”时期末,形成更加完善的由“学校积极主导、家…

Elasticsearch零基础实战

分享后可优化点&#xff08;待完成&#xff09; java es8 查询如何打印查询入参 &#xff1f;&#xff08;直接执行的json&#xff09; es自定义分词器 如何实现&#xff1f; kibana 监控jvm分子分母是什么 &#xff1f; es如何 改索引结构&#xff1f; 修改数据原理 分享…

【动态规划】C++算法:115.不同的子序列

作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 动态规划 LeetCode115 不同的子序列 给你两个字符串 s 和 t &#xff0c;统计并返回在 s 的 子序列 中 t 出现的个数&#xff0c;结果需要对 109 7 取模。 示例 1&#xff1a; 输入&#xff1a;s “rab…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机本身的数据保存(CustomData)功能(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机本身的数据保存&#xff08;CustomData&#xff09;功能&#xff08;C&#xff09; Baumer工业相机Baumer工业相机的数据保存&#xff08;CustomData&#xff09;功能的技术背景CameraExplorer如何使用图像剪切&#xff0…

服务器执行rm命令时自动记录到审计日志中

目的 当在服务器上执行类似于 rm 命令时&#xff0c;自动记录该命令执行的时间&#xff0c;在哪里执行的&#xff0c;删除的什么文件&#xff0c;记录到审计日志中&#xff0c;能够查找到某些文件丢失原因 配置 # 需要root权限&#xff0c;sudo不行&#xff0c;这里假设执行…

VUE3结合mqtt解决多页面使用需重复连接等问题(封装)

场景 在做的一个项目中多个页面都需要使用到mqtt接收消息&#xff0c;但这样的话每个页面就都需要连接一次mqtt&#xff0c;并且要再次配置options信息、订阅主题、接收消息&#xff0c;非常的不方便&#xff0c;因此琢磨将mqtt封装到vuex中&#xff0c;使其可以多页面通用&am…

工具网站DefiLlama全攻略:从零学习链上数据使用与发现

DefiLlama 是一个 DeFi(去中心化金融)信息聚合器,其主要功能是提供各种 DeFi 平台的准确、全面数据。DefiLlama 致力于在不受广告或赞助内容影响的情况下为用户提供这些数据,以确保信息内容的透明度和公正性,该平台聚合来自多个区块链的数据,让用户能够全面了解 DeFi 格局…

探索Elasticsearch内存应用的关键因素

了解Elasticsearch内存模型 Elasticsearch的内存使用主要包括堆内存和操作系统缓存。堆内存是Elasticsearch用来存储数据结构的内存&#xff0c;例如文档索引、倒排索引等。操作系统缓存则是Elasticsearch缓存磁盘上的数据块以加速读取操作的一种机制&#xff0c;通常被称为OS…