搭建自己的搜索引擎之四

news2024/12/23 23:18:38

一、前言

搭建自己的搜索引擎之三 介绍了通过HTTP RESTful 对ES进行增删改查,这一般手工运维ES时使用,程序代码中最好还是使用Java API去操作ES会更容易维护,但ES API竟然贼多,本篇介绍一下 四种 API及其简单使用。

注:有点类似于孔乙己说茴字的四种写法。

二、TransportClient

TransportClient在7.X版本已经不建议使用,在8.X版本以后将彻底废弃,它内部基于Transprot TCP连接到ES集群,它将自己做为集群一个节点,性能较好但版本必须与集群版本一致,spring-data-elasticsearch也是基于该Client。

三、RestClient

使用HTTP REST风格交互,客户端发送请求到ES的任何节点,节点会通过transport接口将请求路由到其他节点,完成数据处理后汇总并返回客户端,客户端负载低,它又有两套API。

1、低级REST客户端

低级 REST 客户端在内部使用 Apache Http Async 客户端 来发送 http 请求.

添加了依赖后会自动引入httpasyncclient、httpcore-nio、httpclient、httpcore这些包。

初始化RestClient配置

请求和响应,对搭建自己的搜索引擎之三  创建的索引数据进行查询

注:这种查询语法直接是很难写正确的,有一个小技巧,你可以用ElasticSearch-Head界面操作然后查看浏览器Network发出请求的PayLoad复制过来即可,它的增删改都与直接使用RestFul操作语法一样,只不过RestClient包装了Http请求响应的处理。

异步请求  

2、高级REST客户端

低版本的RestClient很难使用,所以在6.0版本以后推出了Java High Level REST Client,提供更方便构建请求参数的方法,而不是直接写一堆JSON串。

注:elasticsearch-rest-client、elasticsearch需要手工引入,不然会有版本冲突。

初始化,RestHighLevelClient依赖于低级客户端来构建。

简单查询例子

另外 JavaRestClient和Spring Data EleasticSearch  的写法下一篇再介绍。

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

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

相关文章

深入理解二叉树:结构、遍历和实现

文章目录 🍋引言🍋什么是二叉树?🍋二叉树的基本性质🍋二叉树的遍历🍋二叉树的实现🍋结语 🍋引言 在计算机科学中,二叉树是一种重要的数据结构,广泛应用于各种…

【密评】商用密码应用安全性评估从业人员考核题库(二)

商用密码应用安全性评估从业人员考核题库(二) 国密局给的参考题库5000道只是基础题,后续更新完5000还会继续更其他高质量题库,持续学习,共同进步。 251 多项选择题 根据《密码法》,核心密码、普通密码安全…

Linux常用命令(一)

目录 一、列出目录内容(ls) 二、切换目录(cd) 三、显示当前目录路径(pwd) 四、以树状结构显示目录内容(tree) 五、创建新目录(mkdir) 六、复制文件或目…

windows11 如何关闭 vbs

在Windows 11中,VBS是一种虚拟化安全功能,它可以防止恶意软件通过沙箱环境运行。 如果您想关闭VBS功能,方法如下: 点击底部开始菜单 在上方搜索 cmd ,并点击以管理员身份运行 打开控制台后,在控制台输入…

文档图像处理:大模型的突破与新探索

前言 随着数字化时代的到来,文档图像处理技术在各行各业扮演着越来越重要的角色。在2023第十二届中国智能产业高峰论坛(CIIS 2023)的专题论坛上,合合信息智能技术平台事业部副总经理、高级工程师丁凯博士分享了当前文档图像处理面…

wallis匀色算法、直方图匹配、颜色转移方法比较

算法原理 这三种方法应该是比较基础的匀色处理算法 三个算法的原理比较简单,具体原理大家可以自己百度 (1)wallis匀色原理主要在于利用Wallis滤波器使原始图像的均值和标准差与参考影像相当,从而使原始影像和参考影像具有相近的色…

Oracle的递归公共表表达式

查询节点id为2的所有子节点的数据,包括向下级联 WITH T1 (id, parent_id, data) AS (SELECT id, parent_id, dataFROM nodesWHERE id 2UNION ALLSELECT t.id, t.parent_id, t.dataFROM nodes tJOIN T1 n ON t.parent_id n.id ) SELECT * FROM T1; --建表语句 C…

今天出门竟然忘了带套

今天是没有抢到票的打工人节前的最后一天,7点醒来,磨磨蹭蹭,解决完个人问题,7.35才出门,正常来说最晚7.30出门,骑上哈啰、挤上地铁才能保证打上卡。 说出来不怕各位同行笑话,谁能想到一个高速发…

打卡新“姿势”,多种打卡方式并行

打卡工具 路径 拓展 >> 工具 功能简介 在打卡工具 “班次管理”中,支持多种打卡方式。可同时选择「地点打卡」和「智能安全帽打卡」两种方式进行打卡。 注: 「地点打卡」可设置考勤地点; 「智能安全帽打卡」可设置电子围栏范围。…

排序篇(一)----插入排序

1.直接插入排序 插入排序的思想: 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。 你可以想像成打牌一样,比如说斗地主,一张一张的摸牌,然后把手上的这些牌变成手续的排列.…

【教学类-38】A4红纸-国旗灯笼(庆祝中华人民共和国成立74周年)

作品展示: 背景需求: 从教十余年,我在每年国庆都带领中大班孩子们制作与“国旗相关”国庆庆祝物品——国旗、礼盒 一、国旗(吸管、A4红纸、黄纸打印五角星) 二、铅画纸手提袋(8K铅画纸、A4红纸、黄色打印…

Windows的批处理——获取系统时间、生成当天日期日志

Windows批处理基础https://coffeemilk.blog.csdn.net/article/details/132118351 一、Windows批处理的日期时间 在我们进行软件开发的过程中,有时候会使用到一些批处理命令,其中就涉及到获取系统日期、时间来进行一些逻辑的判断处理;那么我们…

Ubuntu 部署 Seata1.7.1

一、环境说明 IP操作系统程序备注10.0.61.22ubuntu20.04PostgreSQL-14.11已提前部署10.0.61.21ubuntu20.04Nacos-2.1.0已提前部署10.0.61.22ubuntu20.04seata-server-1.7.1本文将要部署 二、部署 1. 下载 wget https://github.com/seata/seata/releases/download/v1.7.1/se…

VUE2项目:尚品汇VUE-CLI脚手架初始化项目以及路由组件分析(一)

标题 环境VUE2目录publicassetscomponentsmain.jsbabel.config.jspackage.jsonvue.config.js 项目路由分析Header与Footer非路由组件完成Header示例 路由组件的搭建声明式导航编程式导航 Footer组件的显示与隐藏路由传递参数重写push和replace三级联动组件拆分附件 环境 前提要…

Scala第四章节

Scala第四章节 scala总目录 章节目标 掌握分支结构的格式和用法掌握for循环和while循环的格式和用法掌握控制跳转语句的用法掌握循环案例理解do.while循环的格式和用法 1. 流程控制结构 1.1 概述 在实际开发中, 我们要编写成千上万行代码, 代码的顺序不同, 执行结果肯定也…

GD32工程创建

1.创建空工程 在任意路径下创建空的test文件夹。打开keil5空工程创建空工程 选择对应的芯片型号: 然后把空工程保存到test文件夹下。会自动生成如下文件。 2. 添加组 下载GD32F10X的固件库:在百度里搜索GD32进入官网。 下载下来对应的文件如下&#xff…

问题记录 springboot 事务方法中使用this调用其它方法

原因: 因为代理对象中调用了原始对象的toString()方法,所以两个不同的对象打印出的引用是相同的

HTML详细基础(三)表单控件

本帖介绍web开发中非常核心的标签——表格标签。 在日常我们使用到的各种需要输入用户信息的场景——如下图,均是通过表格标签table创造出来的: 目录 一.表格标签 二.表格属性 三.合并单元格 四.无序列表 五.有序列表 六.自定义标签 七.表单域 …

Java微信分享接口开发

概述 微信JS-SDK实现自定义分享功能,分享给朋友,分享到朋友圈 详细 概述 概述 微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注&…

抢先一步感受未来:Raspberry Pi 5正式发布!

在经历了几年全球供应链困境导致 Raspberry Pi 单板计算机的产能降低和零售价格上涨之后,今天终于迎来了更新。Raspberry Pi 4 上市四年后,今天Raspberry Pi 5正式发布!新推出的 Raspberry Pi 5 配备了经过大幅改进升级的SoC,带来…