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

Java ‘Elasticsearch‘ 操作

依赖

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-elasticsearch -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId><version>2.3.12.RELEASE</version>
</dependency>

配置

spring:elasticsearch:uris: http://192.168.0.226:9200

对象

@Autowired
private ElasticsearchRestTemplate elasticsearchRestTemplate;

添加索引操作

elasticsearchRestTemplate.indexOps(IndexCoordinates.of("indexname")).create();

IndexCoordinates可以给多个索引

删除索引

elasticsearchRestTemplate.indexOps(IndexCoordinates.of("indexname")).delete();

添加操作

IndexQuery indexQuery = new IndexQueryBuilder().withId(productId).withObject(product4ES).build();
elasticsearchRestTemplate.index(indexQuery, IndexCoordinates.of("products"));

查询操作

这个类是封装查询数据的

NativeSearchQuery query = new NativeSearchQueryBuilder()

要查询的字段

.withQuery(multiMatchQuery(keyword, "productName", "productSkuName"))

分页由于里面比尔帮你做好了就不要套用公式了

.withPageable(PageRequest.of(pageNum - 1, limit))

这里是高亮显示,用的是可变参数

.withHighlightFields(new HighlightBuilder.Field("productName").preTags("<label style='color: red'>").postTags("</label>"), new HighlightBuilder.Field("productSkuName").preTags("<label style='color: red'>").postTags("</label>"))

这里是构建

.build();

elasticsearchRestTemplate.search调用这个方法
search(封装的查询调教, 里面装的类型自动的, IndexCoordinates.of("要差的索引"))
SearchHits得到这个
search.getTotalHits();获取查询到的count

product4ES是我自己创建的然后装得到index

获取搜索的结果

List<SearchHit<Product4ES>> searchHits = search.getSearchHits();
创建一个等等用
List<Product4ES> list = new ArrayList<>();
for (SearchHit<Product4ES> hit : searchHits) {
获取返回的对象用什么对象装的什么对象拿自动的Product4ES product4ES = hit.getContent();
获取高亮map对象多个高亮map就有多个值Map<String, List<String>> highlightFields = hit.getHighlightFields();
获取叫下面这个名字的字段的高亮文本这里可能一段文字多个高亮List<String> productName = highlightFields.get("productName");if (!productName.isEmpty()) {
拿到第一个高亮,并设置product4ES.setProductName(productName.get(0));}
设置到对象list.add(product4ES);
}

计算总页数

int pageCount = ((int) (count % limit == 0 ? count / limit : count / limit + 1));

相关文章:

Java ‘Elasticsearch‘ 操作

依赖 <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-elasticsearch --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</ar…...

【AI视野·今日NLP 自然语言处理论文速览 第七十八期】Wed, 17 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 17 Jan 2024 (showing first 100 of 163 entries) Totally 100 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Deductive Closure Training of Language Models for Coherence, Accur…...

实验5-4 使用函数计算两点间的距离

本题要求实现一个函数&#xff0c;对给定平面任意两点坐标(x1​,y1​)和(x2​,y2​)&#xff0c;求这两点之间的距离。 函数接口定义&#xff1a; double dist( double x1, double y1, double x2, double y2 );其中用户传入的参数为平面上两个点的坐标(x1, y1)和(x2, y2)&…...

【JavaEE】_JavaScript(Web API)

目录 1. DOM 1.1 DOM基本概念 1.2 DOM树 2. 选中页面元素 2.1 querySelector 2.2 querySelectorAll 3. 事件 3.1 基本概念 3.2 事件的三要素 3.3 示例 4.操作元素 4.1 获取/修改元素内容 4.2 获取/修改元素属性 4.3 获取/修改表单元素属性 4.3.1 value&#xf…...

ARM交叉编译搭建SSH

首先搭建好arm-linux交叉编译环境&#xff0c;开发板和主机可以ping通。 一、下载需要的源码 下载zlib: zlib-1.2.3.tar.gz 下载ssl: openssl-0.9.8d.tar.gz 下载ssh: openssh-4.6p1.tar.gz 二、交叉编译 新建目录/home/leo/ssh&#xff0c;并且将三个源码复制到该目录下。…...

###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯

前言&#xff1a;感谢您的关注哦&#xff0c;我会持续更新编程相关知识&#xff0c;愿您在这里有所收获。如果有任何问题&#xff0c;欢迎沟通交流&#xff01;期待与您在学习编程的道路上共同进步。 目录 一. 延时函数的生成 1.通过延时计算器得到延时函数 2.可赋值改变…...

回归预测模型:MATLAB多项式回归

1. 多项式回归模型的基本原理 多项式回归是线性回归的一种扩展&#xff0c;用于分析自变量 X X X与因变量 Y Y Y之间的非线性关系。与简单的线性回归模型不同&#xff0c;多项式回归模型通过引入自变量的高次项来增加模型的复杂度&#xff0c;从而能够拟合数据中的非线性模式。…...

「计算机网络」数据链路层

数据链路层的地位&#xff1a;网络中的主机、路由器等都必须实现数据链路层信道类型 点对点信道&#xff1a;使用一对一的点对点通信方式广播信道 使用一对多的广播通信方式必须使用专用的共享信道协议来协调这些主机的数据发送 使用点对点信道的数据链路层 数据链路和帧 链…...

【Linux】Ubuntu 22.04 升级 nodejs 到 v18

Ubuntu 22.04 已经安装的nodejs 版本 nodejs is already the newest version (12.22.9~dfsg-1ubuntu3.3). 删除以前的 nodejs 版本&#xff1a; 1. sudo apt remove nodejs rooterp:~# sudo apt remove nodejs Reading package lists... Done Building dependency tree..…...

当go get获取不到软件包时

当使用go get命令获取软件包时&#xff0c;如果无法成功获取&#xff0c;您可以尝试以下方法来解决问题&#xff1a; 检查网络连接&#xff1a;首先&#xff0c;确保您的计算机能够访问互联网&#xff0c;并且没有任何网络防火墙或代理设置阻止了go get命令的正常运行。 设置代…...

全网最详细解法|同济大学|高等数学|第八版|习题1-5

文章目录 全网最详细解法&#xff5c;同济大学&#xff5c;高等数学&#xff5c;第八版&#xff5c;习题1-5&#xff5c;5.1全网最详细解法&#xff5c;同济大学&#xff5c;高等数学&#xff5c;第八版&#xff5c;习题1-5&#xff5c;5.2 全网最详细解法&#xff5c;同济大学…...

可视化工具:将多种数据格式转化为交互式图形展示的利器

引言 在数据驱动的时代&#xff0c;数据的分析和理解对于决策过程至关重要。然而&#xff0c;不同的数据格式和结构使得数据的解读变得复杂和困难。为了解决这个问题&#xff0c;一种强大的可视化工具应运而生。这个工具具有将多种数据格式&#xff08;包括JSON、YAML、XML、C…...

[嵌入式AI从0开始到入土]14_orangepi_aipro小修补含yolov7多线程案例

[嵌入式AI从0开始到入土]嵌入式AI系列教程 注&#xff1a;等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间&#xff0c;后期会考虑出视频教程&#xff0c;务必催更&#xff0c;以防我变身鸽王。 第1期 昇腾Altas 200 DK上手 第2期 下载昇腾案例并运行 第3期 官…...

机器学习、深度学习、强化学习、迁移学习的关联与区别

Hi&#xff0c;大家好&#xff0c;我是半亩花海。本文主要了解并初步探究机器学习、深度学习、强化学习、迁移学习的关系与区别&#xff0c;通过清晰直观的关系图展现出四种“学习”之间的关系。虽然这四种“学习”方法在理论和应用上存在着一定的区别&#xff0c;但它们之间也…...

苹果为什么需要台积电3nm工艺芯片?

据《经济日报》报道&#xff0c;苹果公司的产品线将迎来重大升级。下一代应用于iPad、MacBook和iPhone的M4和A18处理器预计将会增加内置AI计算核心的数量&#xff0c;从而大幅提高AI运算能力。这一变化将导致对台积电&#xff08;TSMC&#xff09;订单的显著增长。据悉&#xf…...

力扣:53. 最大子数组和

解题思路&#xff1a; 1.先把数组为空和数组的长度为1时的特殊情况分别开来。声明一个sum变量用于计算数组中的连续子数组的总和值 。在声明一个guo变量用于一种接收sum中的前i-1的总和。另一种接收sum中前i的总和&#xff0c;主要根据sum的值来判断是接收的哪一种。在声明一个…...

幻兽帕鲁Palworld专用服务器CPU内存配置怎么选择?

腾讯云幻兽帕鲁服务器配置怎么选&#xff1f;根据玩家数量选择CPU内存配置&#xff0c;4到8人选择4核16G、10到20人玩家选择8核32G、2到4人选择4核8G、32人选择16核64G配置&#xff0c;腾讯云百科txybk.com来详细说下腾讯云幻兽帕鲁专用服务器CPU内存带宽配置选择方法&#xff…...

学习总结11

KMP算法 全称Knuth-Morris-Pratt算法&#xff0c;是一种字符串匹配算法。该算法的目的是在一个文本串S内查找一个模式串P的出现位置。 KMP算法的核心思想是利用模式串自身的特性来避免不必要的字符比较。算法通过构建一个部分匹配表&#xff08;也称为next数组&#xff09;&a…...

Hadoop运行环境搭建

模板虚拟机环境准备 1&#xff09;准备一台模板虚拟机hadoop100&#xff0c;虚拟机配置要求如下&#xff1a; 模板虚拟机&#xff1a;内存4G&#xff0c;硬盘50G&#xff0c;安装必要环境&#xff0c;为安装hadoop做准备 [roothadoop100 ~]# yum install -y epel-release [r…...

CTFshow web(php命令执行59-67)

web59 <?php /* # -*- coding: utf-8 -*- # Author: Lazzaro # Date: 2020-09-05 20:49:30 # Last Modified by: h1xa # Last Modified time: 2020-09-07 22:02:47 # email: h1xactfer.com # link: https://ctfer.com */ // 你们在炫技吗&#xff1f; if(isset($_POST…...

【Perplexity法规查询功能深度解密】:20年合规专家亲授3大避坑指南与5步精准检索法

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Perplexity法规查询功能的核心定位与演进逻辑 Perplexity法规查询功能并非通用搜索引擎的简单延伸&#xff0c;而是面向法律合规、金融风控与企业治理场景构建的垂直智能体。其核心定位在于实现“可溯源、可验…...

OpenWrt自动化神器:用luci-app-nettask插件,把物理按键和断网都变成触发器

OpenWrt自动化神器&#xff1a;用luci-app-nettask插件解锁硬件触发潜能 你是否曾想过&#xff0c;家里那台默默工作的路由器&#xff0c;除了提供Wi-Fi信号外&#xff0c;还能成为智能家居的中枢神经&#xff1f;当网络突然中断时&#xff0c;它能自动重连并发送通知&#xff…...

2026年AI文字做海报工具横评:6款实测对比,设计小白也能5分钟出图

摘要 2026年&#xff0c;AI做海报已经不是新鲜事&#xff0c;但"输入文字就能出海报"和"出一张能用的海报"之间&#xff0c;差距大得离谱。 我测了6款主流的可以AI文字做海报的工具&#xff0c;有的生成速度很快但排版像模板套娃&#xff0c;有的效果惊艳…...

终极指南:HS2-HF_Patch汉化补丁完全免费使用手册

终极指南&#xff1a;HS2-HF_Patch汉化补丁完全免费使用手册 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 还在为Honey Select 2的日文界面而烦恼吗&#xff…...

NCMconverter终极指南:3步轻松解密NCM音频,实现全平台播放自由 [特殊字符]

NCMconverter终极指南&#xff1a;3步轻松解密NCM音频&#xff0c;实现全平台播放自由 &#x1f3b5; 【免费下载链接】NCMconverter NCMconverter将ncm文件转换为mp3或者flac文件 项目地址: https://gitcode.com/gh_mirrors/nc/NCMconverter 你是否遇到过从音乐平台下载…...

Royal TSX 终极中文汉化包:让专业远程管理工具说中文的完整解决方案

Royal TSX 终极中文汉化包&#xff1a;让专业远程管理工具说中文的完整解决方案 【免费下载链接】Royal_TSX_Chinese_Language_Pack Royal_TSX的简体中文汉化包 项目地址: https://gitcode.com/gh_mirrors/ro/Royal_TSX_Chinese_Language_Pack Royal TSX 是一款功能强大…...

如何高效实现30+输入法词库互转:一站式智能转换方案解放生产力

如何高效实现30输入法词库互转&#xff1a;一站式智能转换方案解放生产力 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 你是否曾因更换输入法而不得不放弃多年积累…...

告别AT命令!用四博智联ESP8266固件5分钟搞定MQTT连接(带图形界面)

5分钟零代码实战&#xff1a;用四博智联ESP8266固件轻松玩转MQTT 第一次接触物联网开发时&#xff0c;我被ESP8266的AT指令折磨得够呛——那些晦涩的命令行参数、复杂的连接步骤&#xff0c;稍有不慎就会卡在某个环节。直到发现四博智联的定制固件&#xff0c;才真正体会到什么…...

Mac视频预览终极指南:QuickLookVideo让你的Finder焕然一新

Mac视频预览终极指南&#xff1a;QuickLookVideo让你的Finder焕然一新 【免费下载链接】QuickLookVideo This package allows macOS Finder to display thumbnails, static QuickLook previews, cover art and metadata for most types of video files. 项目地址: https://gi…...

别再乱设JVM堆大小了!Elasticsearch 8.x 内存配置保姆级避坑指南

Elasticsearch 8.x 内存配置实战&#xff1a;从GC崩溃到性能巅峰的避坑手册 凌晨三点&#xff0c;服务器告警又一次响起。屏幕上的GC日志像瀑布一样滚动&#xff0c;节点频繁脱离集群&#xff0c;查询延迟突破天际——这可能是每个Elasticsearch运维人员都经历过的噩梦时刻。而…...