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

Elasticsearch的自定义查询方法到底是啥?

Elasticsearch主要的目的就是查询,默认提供的查询方法是查询全部,不满足我们的需求,可以定义查询方法

自定义查询方法

单条件查询

我们查询的需求:从title中查询所有包含"鼠标"这个分词的商品数据

SELECT * 
FROM item 
WHERE title LIKE "%鼠标%"
//自定义查询方法,遵循框架给定的格式,编写的方法名称,就可以自动生成查询语句//SELECt * FROM item WHERE title LIKE "%鼠标%"/*query(查询):表示当前方法是查询方法,类似SQL中的selectItems/Item:表示要查询的实体类,以及返回类型,带s就是返回多个对象By(通过): 表示开始设置条件,类似SQL中的whereTitle: 要查询的字段Matches:表示执行查询分词的字符串,类似SQL中的like*/Iterable<Item> queryItemsByTitleMatches(String title);
    //单条件查询@Testpublic void queryOne(){Iterable<Item> items = itemRepository.queryItemsByTitleMatches("鼠标");items.forEach(item -> System.out.println(item));}
多条件查询
//多条件查询--orIterable<Item> queryItemsByTitleMatchesOrBrandMatches(String title,String brand);
    //多条件查询@Testpublic void queryOr(){Iterable<Item> items = itemRepository.queryItemsByTitleMatchesOrBrandMatches("鼠标", "罗技");items.forEach(item -> System.out.println(item));}
排序查询
    //指定price进行降序查询,desc降序,asc是升序Iterable<Item> queryItemsByTitleMatchesOrBrandMatchesOrderByPriceDesc(String title,String brand);
   //排序查询@Testpublic void orderByPrice(){Iterable<Item> items = itemRepository.queryItemsByTitleMatchesOrBrandMatchesOrderByPriceDesc("鼠标", "罗技");items.forEach(item -> System.out.println(item));}
分页查询
    //分页查询Page<Item> queryItemsByTitleMatchesOrBrandMatchesOrderByPriceDesc(String title, String brand, Pageable pageable);
    //分页查询@Testpublic void pageQuery(){int pageNum = 1; //页码,SpringDataES的页码是从0开始int pageSize = 3; //每页大小Page<Item> items = itemRepository.queryItemsByTitleMatchesOrBrandMatchesOrderByPriceDesc("鼠标", "罗技", PageRequest.of(pageNum - 1, pageSize));items.forEach(item -> System.out.println(item));//page中除了查询结果数据以外还有分页信息System.out.println("总页数:"+items.getTotalPages());System.out.println("总条数:"+items.getTotalElements());System.out.println("当前页:"+items.getNumber());System.out.println("每页条数:"+items.getSize());System.out.println("是否为首页:"+items.isFirst());System.out.println("是否为末页:"+items.isLast());}

上一篇文章:SpringBoot操作Elasticsearch-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/Z0412_J0103/article/details/143570062下一篇文章: 

相关文章:

Elasticsearch的自定义查询方法到底是啥?

Elasticsearch主要的目的就是查询&#xff0c;默认提供的查询方法是查询全部&#xff0c;不满足我们的需求&#xff0c;可以定义查询方法 自定义查询方法 单条件查询 我们查询的需求&#xff1a;从title中查询所有包含"鼠标"这个分词的商品数据 SELECT * FROM it…...

Jenkins找不到maven构建项目

有的可能没有出现maven这个选项 解决办法&#xff1a;需要安装Maven项目插件 输入​Maven Integration plugin​...

怎么更换IP地址 改变IP归属地的三种方法

要更换自己的IP地址&#xff0c;您可以按照以下步骤进行操作&#xff1a; 1. 了解IP地址类型&#xff1a;首先&#xff0c;您需要了解您当前使用的IP地址类型。IP地址分为静态IP和动态IP两种。静态IP地址是固定的&#xff0c;使用第三方软件比如S深度IP转换器&#xff1b;而使用…...

C#-异步查询示例

文章速览 CancellationTokenSource 概述代码示例 坚持记录实属不易&#xff0c;希望友善多金的码友能够随手点一个赞。 共同创建氛围更加良好的开发者社区&#xff01; 谢谢~ CancellationTokenSource 概述 使用System.Threading下的CancellationTokenSource类&#xff0c;进…...

设计模式之适配器模式(从多个MQ消息体中,抽取指定字段值场景)

前言 工作到3年左右很大一部分程序员都想提升自己的技术栈&#xff0c;开始尝试去阅读一些源码&#xff0c;例如Spring、Mybaits、Dubbo等&#xff0c;但读着读着发现越来越难懂&#xff0c;一会从这过来一会跑到那去。甚至怀疑自己技术太差&#xff0c;慢慢也就不愿意再触碰这…...

vue+exceljs前端下载、导出xlsx文件

首先安装插件 npm install exceljs file-saver第一种 简单导出 //页面引入 import ExcelJS from exceljs; import {saveAs} from file-saver; export default {methods: { /** 导出操作 */async handleExportFun() {let that this// 获取当前年月日 用户下载xlsx的文件名称设…...

算法定制LiteAIServer摄像机实时接入分析平台烟火检测算法的主要功能

在现代社会&#xff0c;随着人工智能技术的飞速发展&#xff0c;智能监控系统在公共安全领域的应用日益广泛。其中&#xff0c;烟火检测作为预防火灾的重要手段&#xff0c;其准确性和实时性对于减少火灾损失、保障人民生命财产安全具有重要意义。而算法定制LiteAIServer烟火检…...

用 Python 从零开始创建神经网络(二)

用 Python 从零开始创建神经网络&#xff08;二&#xff09; 引言1. Tensors, Arrays and Vectors&#xff1a;2. Dot Product and Vector Additiona. Dot Product &#xff08;点积&#xff09;b. Vector Addition &#xff08;向量加法&#xff09; 3. A Single Neuron with …...

嘉吉连续第七年亮相进博会

以“新质绿动&#xff0c;共赢未来”为主题&#xff0c;嘉吉连续第七年亮相进博会舞台。嘉吉带来了超过120款产品与解决方案&#xff0c;展示嘉吉在农业、食品、金融和工业等领域以客户为中心的创新成果。这些产品融合了嘉吉在相关领域的前瞻性思考&#xff0c;以及对本土市场的…...

设计模式之单列模式(7种单例模式案例,Effective Java 作者推荐枚举单例模式)

前言 在设计模式中按照不同的处理方式共包含三大类&#xff1b;创建型模式、结构型模式和行为模式&#xff0c;其中创建型模式目前已经介绍了其中的四个&#xff1b;工厂方法模式、抽象工厂模式、生成器模式和原型模式&#xff0c;除此之外还有最后一个单例模式。 单列模式介绍…...

多个服务器共享同一个Redis Cluster集群,并且可以使用Redisson分布式锁

Redisson 是一个高级的 Redis 客户端&#xff0c;它支持多种分布式 Java 对象和服务。其中之一就是分布式锁&#xff08;RLock&#xff09;&#xff0c;它可以跨多个应用实例在多个服务器上使用同一个 Redis 集群&#xff0c;为这些实例提供锁服务。 当你在不同服务器上运行的…...

100种算法【Python版】第59篇——滤波算法之扩展卡尔曼滤波

本文目录 1 算法步骤2 算法示例2.1 示例描述2.2 python代码3 算法应用:机器人位姿估计扩展卡尔曼滤波(EKF)是一种处理非线性系统的状态估计算法。它通过线性化非线性系统来实现类似于线性卡尔曼滤波的效果。 1 算法步骤 (1)初始化 初始状态: x ^ 0 ∣ 0 \hat{x}_{0|0}...

制造业数字化转型的强大赋能平台:盘古信息IMS OS工软技术底座

在制造业数字化转型的浪潮中&#xff0c;技术底座的选择与实施至关重要。它不仅决定了企业数字化转型的深度与广度&#xff0c;还影响着企业的生产效率、成本控制和市场竞争力。盘古信息IMS OS作为一款强大的工软技术底座&#xff0c;凭借其高度模块化、可配置的设计理念&#…...

域名+服务器+Nginx+宝塔使用SSL证书配置HTTPS

前言 在我的前面文章里&#xff0c;有写过一篇文章 linux服务器宝塔从头部署别人可访问的网站 在这篇文章&#xff0c;有教学怎么使用宝塔和买的服务器的公网IP&#xff0c;以及教怎么打包vue和springboot去部署不用域名的网站让别人访问 那么&#xff0c;这篇文章将在这个…...

UnityAssetsBundle字体优化解决方案

Unity开发某个项目&#xff0c;打包后的apk包体已经高达1.25G了&#xff0c;这是非常离谱的。为了不影响用户体验&#xff0c;需要将apk包体缩小。因为项目本身不包含很多模型以及其他大型资源&#xff0c;排除法将AB包删除&#xff0c;发现app本身就100多M。 由此可以锁定是AB…...

Go的环境搭建以及GoLand安装教程

目录 一、开发环境Golang安装 二、配置环境变量 三、GoLand安装 四、Go 语言的 Hello World 一、开发环境Golang安装 官方网址&#xff1a; The Go Programming Language 1. 首先进入官网&#xff0c;点击Download&#xff0c;选择版本并进行下载&#xff1a; ​ ​ 2. …...

git clone,用https还是ssh

前言 在使用Git去克隆项目时&#xff0c;会遇到https和ssh等形式&#xff0c;这两种又有何种区别呢&#xff0c;本文将重点讨论在具体使用中的问题。 注:第一次使用Git 时&#xff0c;需要先设置全局用户名和邮箱&#xff0c;否则后续使用命令时会报错&#xff0c;也是提醒先添…...

量化交易系统开发-实时行情自动化交易-Okex行情交易数据

19年创业做过一年的量化交易但没有成功&#xff0c;作为交易系统的开发人员积累了一些经验&#xff0c;最近想重新研究交易系统&#xff0c;一边整理一边写出来一些思考供大家参考&#xff0c;也希望跟做量化的朋友有更多的交流和合作。 接下来聊聊基于Okex交易所API获取行情数…...

【重装系统后重新配置2】pycharm 终端无法激活conda环境

pycharm 终端无法激活 conda 环境&#xff0c;但是 Windows本地终端是可以激活的 原因是pycharm 默认的终端是 Windows PowerShell 解决方法有两个&#xff1a; 一、在设置里&#xff0c;修改为cmd 二、下面直接选择...

【LeetCode每日一题】——802.找到最终的安全状态

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时空频度】九【代码实现】十【提交结果】 一【题目类别】 图 二【题目难度】 中等 三【题目编号】 802.找到最终的安全状态 四【题目描述】 有一个有…...

AIGC内容创作流水线:Qwen3-ASR-0.6B赋能语音素材自动化文本化

AIGC内容创作流水线&#xff1a;Qwen3-ASR-0.6B赋能语音素材自动化文本化 你有没有过这样的经历&#xff1f;录完一段精彩的课程讲解、一次深度的访谈对话&#xff0c;或者一段灵光乍现的语音随笔&#xff0c;看着长达几十分钟的音频文件&#xff0c;一想到要把它整理成文字稿…...

别急着升级glibc!解决scikit-learn的libgomp内存错误,我更推荐这个方法

生产环境避坑指南&#xff1a;如何优雅解决scikit-learn的libgomp内存分配错误 当你的AI服务突然抛出cannot allocate memory in static TLS block错误时&#xff0c;第一反应可能是升级系统库——但请先放下这个危险的念头。作为经历过三次生产环境崩溃的运维老兵&#xff0c;…...

高效清理重复文件:三步释放50GB存储空间的智能解决方案

高效清理重复文件&#xff1a;三步释放50GB存储空间的智能解决方案 【免费下载链接】czkawka 一款跨平台的重复文件查找工具&#xff0c;可用于清理硬盘中的重复文件、相似图片、零字节文件等。它以高效、易用为特点&#xff0c;帮助用户释放存储空间。 项目地址: https://gi…...

STM32F103C8T6实战:在最小系统板上运行轻量级TranslateGemma

STM32F103C8T6实战&#xff1a;在最小系统板上运行轻量级TranslateGemma 1. 引言 你有没有想过&#xff0c;在一块只有拇指大小的开发板上运行AI翻译模型&#xff1f;STM32F103C8T6最小系统板&#xff0c;这个通常用来控制LED灯、读取传感器的小家伙&#xff0c;现在居然能跑…...

ROS 之 rosdep 进阶技巧:高效管理workspace依赖关系

1. 从单package到workspace&#xff1a;为什么需要rosdep进阶技巧 刚开始接触ROS的时候&#xff0c;我和大多数开发者一样&#xff0c;每次遇到依赖问题都是手动安装。比如看到Could not find a package configuration file provided by "xxx"这样的错误&#xff0c;…...

Cataclysm: Dark Days Ahead - 在末日废土中生存的终极指南

Cataclysm: Dark Days Ahead - 在末日废土中生存的终极指南 【免费下载链接】Cataclysm-DDA Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world. 项目地址: https://gitcode.com/GitHub_Trending/ca/Cataclysm-DDA 欢迎来到Cat…...

lychee-rerank-mm快速上手:3步完成图库重排序(输入描述→上传图片→点击排序)

lychee-rerank-mm快速上手&#xff1a;3步完成图库重排序&#xff08;输入描述→上传图片→点击排序&#xff09; 1. 项目简介 lychee-rerank-mm是一个专门为RTX 4090显卡优化的智能图片排序工具。它能帮你从一堆图片中快速找出与文字描述最匹配的那些图片&#xff0c;就像有…...

KeyDecoder项目架构分析:理解Flutter应用的数据流与状态管理

KeyDecoder项目架构分析&#xff1a;理解Flutter应用的数据流与状态管理 【免费下载链接】KeyDecoder KeyDecoder app lets you use your smartphone or tablet to decode your mechanical keys in seconds. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyDecoder Ke…...

知识图谱入门第一步:用SpringBoot+HanLP快速构建你的中文实体识别与关系抽取Demo

知识图谱实战&#xff1a;基于SpringBoot与HanLP的中文实体关系抽取系统构建指南 在人工智能与大数据技术蓬勃发展的今天&#xff0c;知识图谱作为结构化知识的重要载体&#xff0c;正在智能搜索、推荐系统、金融风控等领域展现出巨大价值。但对于许多刚接触这一领域的开发者而…...

PvZ Toolkit:植物大战僵尸游戏体验增强工具全解析

PvZ Toolkit&#xff1a;植物大战僵尸游戏体验增强工具全解析 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 问题引入&#xff1a;植物大战僵尸玩家的共同痛点 在植物大战僵尸游戏过程中&#xf…...