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

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

自定义查询方法

单条件查询

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

SELECT * 
FROM item 
WHERE title LIKE "%鼠标%"
//自定义查询方法,遵循框架给定的格式,编写的方法名称,就可以自动生成查询语句
    //SELECt * FROM item WHERE title LIKE "%鼠标%"
    /*
      query(查询):表示当前方法是查询方法,类似SQL中的select
      Items/Item:表示要查询的实体类,以及返回类型,带s就是返回多个对象
      By(通过): 表示开始设置条件,类似SQL中的where
      Title: 要查询的字段
      Matches:表示执行查询分词的字符串,类似SQL中的like
     */
    Iterable<Item> queryItemsByTitleMatches(String title);
    //单条件查询
    @Test
    public void queryOne(){
        Iterable<Item> items = itemRepository.queryItemsByTitleMatches("鼠标");
        items.forEach(item -> System.out.println(item));
    }
多条件查询
//多条件查询--or
    Iterable<Item> queryItemsByTitleMatchesOrBrandMatches(String title,String brand);
    //多条件查询
    @Test
    public void queryOr(){
        Iterable<Item> items = itemRepository.queryItemsByTitleMatchesOrBrandMatches("鼠标", "罗技");
        items.forEach(item -> System.out.println(item));
    }
排序查询
    //指定price进行降序查询,desc降序,asc是升序
    Iterable<Item> queryItemsByTitleMatchesOrBrandMatchesOrderByPriceDesc(String title,String brand);
   //排序查询
    @Test
    public void orderByPrice(){
        Iterable<Item> items = itemRepository.queryItemsByTitleMatchesOrBrandMatchesOrderByPriceDesc("鼠标", "罗技");
        items.forEach(item -> System.out.println(item));
    }
分页查询
    //分页查询
    Page<Item> queryItemsByTitleMatchesOrBrandMatchesOrderByPriceDesc(String title, String brand, Pageable pageable);
    //分页查询
    @Test
    public 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下一篇文章: 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

环境配置与搭建

安装pytorch 官网连链接&#xff1a;https://pytorch.org/ 特殊包名 cv2 pip install opencv-python sklearn pip install scikit-learnPIL pip install Pillow使用jupyter notebook pip install jupyter安装显卡驱动 Windows Linux 视频教程&#xff1a; 【ubuntu2…

jmeter常用配置元件介绍总结之函数助手

系列文章目录 1.windows、linux安装jmeter及设置中文显示 2.jmeter常用配置元件介绍总结之安装插件 3.jmeter常用配置元件介绍总结之取样器 jmeter常用配置元件介绍总结之函数助手 1.进入函数助手对话框2.常用函数的使用介绍2.1.RandomFromMultipleVars函数2.2.Random函数2.3.R…

【excel基本操作-sumif绝对引用和相对引用

低量级数据的存储 复杂且无法优化的数据报表 怎么学excel? 一、输入与输出 二、计算与处理 三、可视化 四、连接匹配与自动化 excel操作笔记 打开表格第一步筛选 所以筛选的快捷键&#xff1a;shiftctrll 排序&#xff1a;多列排序 开始-排序与筛选-自定义排序-设置关键字添…

【项目计划文档】软件项目计划书,项目总体计划(word原件)

项目开发计划包括项目描述、项目组织、成本预算、人力资源估算、设备资源计划、沟通计划、采购计划、风险计划、项目过程定义及项目的进度安排和里程碑、质量计划、数据管理计划、度量和分析计划、监控计划和培训计划等。 软件全套精华资料包清单部分文件列表&#xff1a; 工作…

音视频入门基础:FLV专题(23)——FFmpeg源码中,获取FLV文件音频信息的实现(下)

音视频入门基础&#xff1a;FLV专题系列文章&#xff1a; 音视频入门基础&#xff1a;FLV专题&#xff08;1&#xff09;——FLV官方文档下载 音视频入门基础&#xff1a;FLV专题&#xff08;2&#xff09;——使用FFmpeg命令生成flv文件 音视频入门基础&#xff1a;FLV专题…

模型 阿玛拉定律(炒作周期)

系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。短期乐观&#xff0c;长期低估。 1 阿玛拉定律的应用 1.1 全球定位系统&#xff08;GPS&#xff09;的发展 全球定位系统&#xff08;GPS&#xff09;的发展是阿玛拉定律的一个典型应用案例&#xf…

Kubernetes的概述与架构

Kubernetes 的概述 Kubernetes 是一个可移植、可扩展的开源平台&#xff0c;用于管理容器化的工作负载和服务&#xff0c;方便进行声明式配置和自动化。Kubernetes 拥有一个庞大且快速增长的生态系统&#xff0c;其服务、支持和工具的使用范围广泛。 Kubernetes 这个名字源于…

【CAN通信】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、CAN通信简介二、CAN通信的逻辑电平分析三、CAN通信的差分信号线设计CAN标准数据帧格式四、设备发送数据优先级总结 一、CAN通信简介 CAN&#xff08;Controlle…

速度快还看巡飞,筒射巡飞无人机技术详解

筒射巡飞无人机&#xff08;Launch and Recovery by Tube&#xff0c;LRAT或Launcher-Deployed Loitering Munition&#xff0c;LDLM&#xff09;作为一种新型无人机系统&#xff0c;近年来在军事和民用领域都展现出了巨大的潜力。以下是对筒射巡飞无人机技术的详细解析&#x…

如何使用 SSH 连接并管理你的 WordPress 网站

在当今数字化的世界里&#xff0c;网站的管理与维护至关重要。对于使用 WordPress 搭建网站的用户而言&#xff0c;掌握基本的 SSH&#xff08;安全壳&#xff09;命令能够极大地简化网站管理工作。本指南将向你介绍 SSH 的基本知识&#xff0c;并教你如何通过 SSH 连接和管理你…

低轨卫星互联网(二)—— 技术篇

撰写:我是吉米 低轨卫星互联网,地面移动网和卫星通信网融合如图1所示。 图1 低轨卫星互联网演进图 从技术演进发展初衷来看,地面移动网与卫星通信网各自演进,如图2所示。地面移动网旨在提供高速率、大容量、低时延、高移动服务,而卫星通信网则旨在提供广覆盖服务。低轨卫星…

51c大模型~合集18

我自己的原文哦~ https://blog.51cto.com/whaosoft/11621494 #SpatialBot 空间大模型&#xff1a;上交、斯坦福、智源、北大、牛津、东大联合推出&#xff01; 大模型走向空间智能、具身智能之路&#xff01; 智源&#xff0c;斯坦福&#xff0c;北大&#xff0c;牛津&…

OpenGL 异常处理-glCreateShader失败

【1】glCreateShader创建顶点着色器时候报错&#xff0c;如下 【2】原因分析 初始化失败&#xff0c;你使用一个扩extension loader library来访问现代OpenGL&#xff0c;当需要初始化它时&#xff0c;加载器需要一个当前的上下文来加载 【3】解决办法 GLenum glew_err gle…

git 工具原理

git 目录 git git的使用 了解git的三个区域 具体操作 如何下载别人上传到git的工程 -- 可以参考菜鸟教程&#xff0c;包括安装配置git Git 安装配置 | 菜鸟教程 -- Git 是一种分布式版本控制系统&#xff0c;用于管理软件项目的源代码。它是由 Linux 之父 Linus Torval…

Qt Udp的组播(多播)、广播和单播

UDP通讯的基本概念和特点‌ UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;是‌TCP/IP协议族中的一种无连接协议&#xff0c;主要用于那些对实时性要求较高而可靠性要求较低的应用场景。UDP的主要特点包括&#xff1a; ‌无连接‌&#xff1a;…

搭建react项目

#pic_center 400x 参考文章&#xff1a; react开发环境搭建 系列文章&#xff1a; 文章目录 create-react-app安装reactnpm版本管理npm 镜像安装 create-react-app安装react 查看是否安装过create-react-app npm list create-react-app -- create-react-app5.0.1 # 输出版本…

Leetcode 两数之和 Ⅱ - 输入有序数组

这段代码实现了在一个非递减排序的数组中找到两个数&#xff0c;使它们的和等于目标值的算法。算法使用了双指针技术&#xff0c;具体思想如下&#xff1a; 算法思想&#xff1a; 初始化指针&#xff1a;定义两个指针 left 和 right&#xff0c;分别指向数组的起始位置和末尾位…

论文略读:GRAG:GraphRetrieval-Augmented Generation

202404 arxiv 1 motivation 在许多应用场景中&#xff0c;如科学文献网络、推荐系统和知识图谱&#xff0c;文档之间存在复杂的关联&#xff0c;这些关联在传统的RAG模型中常常被忽略 例如&#xff0c;在处理科学文献时&#xff0c;RAG仅基于文本相似性的检索方法无法充分利用…

103 - Lecture 1

Introduction to Database 一、Introduction to Database Systems 1. 数据的定义 What is Data? EX: data could be a docx file storing your project status report; data could be a spreadsheet containing information • 数据只有在设计的场景中才有意义。&#xff…

【论文复现】MSA+抑郁症模型总结(二)

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀MSA抑郁症模型 情感分析的应用1. 概述2. 论文地址3. 研究背景4. 主要贡献5. 模型结构和代码6. 数据集介绍7. 性能展示8. 复现过程9. 运行过程…