深入探索Elasticsearch中的QueryBuilders

Elasticsearch的查询构建器(org.elasticsearch.index.query.QueryBuilders)是构建复杂查询的强大工具集。本文将逐一介绍其主要成员属性和方法,帮助你更高效地进行数据检索与分析。

基础查询

matchAllQuery

  • 功能:匹配所有文档的查询。
  • 示例QueryBuilders.matchAllQuery()

matchQuery

  • 功能:基于字段的全文本匹配查询。
  • 参数:字段名,查询关键词。
  • 示例QueryBuilders.matchQuery("title", "elasticsearch")

commonTermsQuery

  • 功能:处理常用词的优化查询,平衡准确性和性能。
  • 参数:字段名,查询文本,低频词阈值等。
  • 示例QueryBuilders.commonTermsQuery("content", "elasticsearch basics")

multiMatchQuery

  • 功能:在多个字段上执行匹配查询。
  • 参数:查询文本,涉及的字段列表,查询类型等。
  • 示例QueryBuilders.multiMatchQuery("elasticsearch", "title", "content").type(MultiMatchQueryBuilder.Type.BEST_FIELDS)

其他基础查询

  • matchBoolPrefixQuery, matchPhraseQuery, matchPhrasePrefixQuery, disMaxQuery, combinedFieldsQuery, distanceFeatureQuery 等,分别用于布尔前缀匹配、短语匹配、短语前缀匹配、最佳匹配查询、组合字段查询、距离特征查询等场景。

高级查询

termQuery, termsQuery

  • 功能:精确匹配单个或多个指定值。
  • 示例termQuery("status", "published"), termsQuery("tags", "search", "elasticsearch")

fuzzyQuery, prefixQuery, wildcardQuery, regexpQuery

  • 功能:模糊匹配、前缀匹配、通配符匹配、正则表达式匹配。
  • 示例fuzzyQuery("name", "elastik"), prefixQuery("tag", "elast")

queryStringQuery, simpleQueryStringQuery

  • 功能:基于Lucene查询语法的查询,后者更用户友好。
  • 示例queryStringQuery("title:elasticsearch AND content:basics")

boostingQuery, boolQuery

  • 功能:提升查询(提升某些查询结果的权重)和布尔查询(组合多个查询条件)。
  • 示例boostingQuery(positiveQuery, negativeQuery.boost(-0.5f)), boolQuery().must(QueryBuilders.matchQuery("title", "elasticsearch")).should(QueryBuilders.matchQuery("author", "shay"))

span*Query系列

  • 功能:用于实现更精细的句法或位置相关的查询,如spanTermQuery, spanFirstQuery, spanNearQuery等。

nestedQuery

  • 功能:针对嵌套对象的查询。
  • 示例nestedQuery("comments", termQuery("comments.user", "kimchy"))

functionScoreQuery

  • 功能:根据自定义函数调整查询得分。
  • 示例functionScoreQuery(matchQuery("text", "elasticsearch")).boostFactor(2.0f)

地理空间查询

  • geoDistanceQuery, geoBoundingBoxQuery, geoPolygonQuery, geoShapeQuery
  • 功能:支持基于地理位置的各种查询,如距离查询、边界盒查询、多边形查询等。

特殊用途查询

  • existsQuery

  • 功能:检查字段是否存在。

  • 示例existsQuery("published_date")

  • wrapperQuery, typeQuery, termsLookupQuery, scriptQuery

  • 功能:包装其他查询、按文档类型查询、动态获取查询项、基于脚本的查询等。

通过灵活运用这些查询构建器,开发者可以构建出适应各种需求的复杂查询逻辑,从而高效地从Elasticsearch中检索所需信息。掌握这些工具是深入使用Elasticsearch进行数据分析和搜索应用开发的关键。

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

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

相关文章

TinTin Web3 Bounty 挑战杯第二期再启程,NEAR 生态邀请你来找 Bug!

对 Web3 来说,Bounty 任务应该是普通人获得行业“一杯羹”的重要捷径! 通过深入学习各类 Web3 公链技术,凭借实战锻炼开发创新项目,或完善已有网络运行中出现的问题,就有机会更加快速了解其底层技术逻辑,更…

基于YOLOv8+PyQt5复杂场景下船舶目标检测系统

1. 应用场景 复杂场景下船舶目标检测系统的应用场景包括: 港口管理和安全:监控港口区域,确保船舶安全地进出港口,预防相撞事故的发生。 海洋交通监控:实时追踪海上交通流,并识别违规或异常航行行为&#x…

Python ValueError: bad transparency mask

修改前 修复后 运行正常 from PIL import Image# 读取图片 #报错信息解决ValueError: bad transparency mask--相关文档地址https://blog.csdn.net/kalath_aiur/article/details/103945309 #1. 检查 alpha 通道是否是一个有效的掩码。如果不是,则需要对 alpha 通道…

《Boundary Smooth for NER》

来源: ACL2022, 作者:中科院 命名实体识别(NER)模型很容易遇到over-confidence的问题,从而降低了性能。 基于边界存在的问题,参考 Label Smoothing,作者提出了 boundary smoothing 的训练方法,即使用 biaff…

苍穹外卖,接入redis cache后,新增套餐有问题

终端报错: java.lang.IllegalArgumentException: Null key returned for cache operation (maybe you are using named params on classes without debug info?) Builder[public com.sky.result.Result com.sky.controller.admin.SetmealController.save(com.sky.d…

Stable Diffusion WebUI 中文提示词插件 sd-webui-prompt-all-in-one

本文收录于《AI绘画从入门到精通》专栏,订阅后可阅读专栏内所有文章,专栏总目录:点这里。 大家好,我是水滴~~ 今天为大家介绍 Stable Diffusion WebUI 的一款中文提示词插件 sd-webui-prompt-all-in-one,就像它的名字一样,该插件几乎涵盖了提示词相关的所有功能。 文章内…

3D模型格式转换工具HOOPS Exchange如何读取建筑工程中复杂庞多的数据?

在当今数字化时代,建筑行业正日益依赖于复杂的3D建模工具和软件,以便在设计、规划和建造过程中实现更高的效率和精确性。然而,这种效率的提升往往伴随着一个挑战:不同软件之间的3D模型格式可能不兼容,这导致了数据转换…

SpringBootWeb创建

创建spring项目 创建SpringBoot工程定义请求处理类运行常见问题java: 无效的源发行版: XXjava: 无法访问org.springframework.web.bind.annotation.RequestMapping类文件具有错误的版本 61.0, 应为 52.0 创建SpringBoot工程 定义请求处理类 RestController public class HelloC…

unity入门学习笔记

文章目录 unity学习笔记熟悉界面窗口页面快捷键视图特点移动、旋转、缩放快捷键聚焦和隐藏 一些基本概念模型模型的导入一些补充 资源文件资源包的导出资源包的导入 轴心物体的父子关系空物体Global与localpivot与center 组件脚本基础我的第一个脚本 获取脚本组件本地坐标播放模…

JVM调优--理论篇

在对Java应用进行性能优化时,JVM的调优是一个绕不开的话题。本文重点介绍下如何对JVM进行调优,以期提高Java应用的性能、稳定性、响应时间等性能目标。JVM的调优过程符合Java应用的调优过程,主要分为三步:性能监控、性能分析、性能…

8086 汇编学习 Part 8

移位指令 当 C N T > 1 CNT > 1 CNT>1 时,CNT 必须是 CL 寄存器 逻辑左移 SHL OPR , CNT 将寄存器或内存单元中的数据向左移 CNT 位,最后移除的一位写入 CF,最低位用 0 补充 循环左移 ROL OPR , CNT 将寄存器中的值的最高位存…

视频改字祝福 豪车装X系统源码uniapp前端小程序源码

视频改字祝福 豪车装X系统源码uniapp前端小程序源码,创意无限!AI视频改字祝福,豪车装X系统源码开源,打造个性化祝 福视频不再难! 想要为你的朋友或家人送上一份特别的祝福,让他们感受到你的真诚与关怀吗&am…

服务器数据恢复—ESXi虚拟机中MySQL数据库数据恢复案例

服务器数据恢复环境: 某品牌EVA某型号存储中部署VMware ESXi虚拟化平台,数据盘(精简模式)快照数据盘,虚拟机中有mysql数据库。 服务器故障: 机房意外断电导致该存储中的一台VMware虚拟机无法启动&#xff0…

深度剖析muduo网络库1.1---面试提问(阻塞、非阻塞、同步、异步)

在面试过程中,如果被问到关于IO的阻塞、非阻塞、同步、异步时,我们应该如何回答呢? 结合最近学习的课程,我作出了以下的总结,希望能与大家共同探讨! 先给出 陈硕大神原话:在处理IO的时候&…

基于家政小程序的个性化家政服务研究

基于家政小程序的个性化家政服务研究,是近年来随着移动互联网技术的快速发展和人们生活品质的提高而兴起的一个热门话题。以下是对该领域的研究探讨: 一、引言 随着现代生活节奏的加快,家政服务已成为越来越多家庭不可或缺的一部分。然而&a…

最新优质电商API接口,附带教程【多语言环境高并发】

给大家更新一波24年一月份的新接口吧。 01 接口信息 线路推荐: 多仓: 1.春盈: https://wds.ecsxs.com/230989.json 2.无意: http://www.wya6.cn/tv/yc.json 3.主流电商平台API数据采集 单仓: 1.饭太硬: http:/…

CVE-2019-19945漏洞复现 Openwrt针对uhttpd漏洞利用

根据官方漏洞的文档,该漏洞的复现工作我会基于openwrt的18.06.4这个版本进行测试。我选取的环境是渗透测试常用的kali-Linux系统,然后在其中搭建docker环境来完成相应的实验环境的部署。我通过这个核心命令获取docker环境: sudo docker impo…

Sarcasm detection论文解析 |# 利用情感语义增强型多层次记忆网络进行讽刺检测

论文地址 论文地址:https://www.sciencedirect.com/science/article/abs/pii/S0925231220304689?via%3Dihub#/ 论文首页 笔记框架 利用情感语义增强型多层次记忆网络进行讽刺检测 📅出版年份:2020 📖出版期刊:Neurocomputing 📈影…

【微服务】服务保护(通过Sentinel解决雪崩问题)

Sentinel解决雪崩问题 雪崩问题服务保护方案服务降级保护 服务保护技术SentinelFallback服务熔断 雪崩问题 在微服务调用链中如果有一个服务的问题导致整条链上的服务都不可用,称为雪崩 原因 微服务之间的相互调用,服务提供者出现故障服务的消费者没有…

软件全套资料整理包获取-软件各阶段支撑文档

软件全套精华资料包清单部分文件列表: 工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求调研计划,用户需求调查单,用户需求说明书,概要设计说明书&#xff0c…
最新文章