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

Elasticsearch 中的 term、terms 和 match 查询

目录

term 查询

terms 查询

match 查询

注意事项

结论


   Elasticsearch 提供了多种查询类型,用于不同的搜索需求。termtermsmatch 是其中最常用的一些查询类型。下面分别介绍每种查询类型的用法和特点。

term 查询

  term 查询用于精确值匹配。它通常用于关键字(keyword)类型的字段,或者已经过精确值(如数字、日期等)处理的文本字段。term 查询不会对查询的文本进行分词。

示例

GET /example_index/_search
{"query": {"term": {"status": {"value": "active"}}}
}

  这个查询会精确匹配字段 status 中值为 "active" 的文档。

terms 查询

  terms 查询是 term 查询的扩展,它允许你一次性检索多个精确值。

示例

GET /example_index/_search
{"query": {"terms": {"status": ["active", "pending", "closed"]}}
}

   这个查询会匹配字段 status 中值为 "active"、"pending" 或 "closed" 的文档(他是一个或的关系,只要Doc的status字段包含任意一个就命中)。

match 查询

   match 查询是一个标准的全文搜索查询,它会对查询文本进行分词处理,然后搜索分词后的结果。match 查询适用于全文字段(text)。

示例

GET /example_index/_search
{"query": {"match": {"description": "quick brown fox"}}
}

   这个查询会对 "quick brown fox" 进行分词,然后在 description 字段中搜索这些分词。

注意事项

   1. 分析器

  match 查询会使用字段相关联的分析器进行分词,而 termterms 查询则不会。

  2. 性能

  termterms 查询通常比 match 查询更快,因为它们不涉及分词过程,直接在倒排索引中查找精确值。

  3. 用例

  • 使用 term 查询来匹配文档中的精确值,如状态标签、ID等。
  • 使用 terms 查询可以一次性匹配多个精确值,适合于筛选符合多个条件的文档。
  • 使用 match 查询来执行全文搜索,适合于搜索文本内容。

结论

   在 Elasticsearch 中,termtermsmatch 查询是基础的搜索操作,它们分别适用于不同的场景。termterms 用于精确匹配,而 match 用于全文搜索。了解它们的差异和适用情况对于构建有效的搜索查询至关重要。

相关文章:

Elasticsearch 中的 term、terms 和 match 查询

目录 term 查询 terms 查询 match 查询 注意事项 结论 Elasticsearch 提供了多种查询类型,用于不同的搜索需求。term、terms 和 match 是其中最常用的一些查询类型。下面分别介绍每种查询类型的用法和特点。 term 查询 term 查询用于精确值匹配。它通常用于关…...

美易官方:开盘:美股高开科技股领涨 标普指数创盘中新高

**开盘:美股高开科技股领涨 标普指数创盘中新高** 在周三的交易中,美国股市高开,科技股领涨市场,标普500指数创下盘中新高。投资者对经济复苏的乐观情绪以及对科技公司业绩的看好,共同推动了市场的上涨。 盘初&#xf…...

STM32F407移植OpenHarmony笔记2

接上篇,搭建完开发环境后,我们还要继续工作。 官方合作的开发板刚好有STM32F407,我准备试一下开发板的demo,虽然我用的不是他们的开发板。 先下载以下3份代码: https://gitee.com/openharmony/device_board_talkweb…...

数据仓库-相关概念

简介 数据仓库是一个用于集成、存储和管理大量数据的系统。它用于支持企业决策制定过程中的数据分析和报告需求。数据仓库从多个来源收集和整合数据,并将其组织成易于查询和分析的结构。 数据仓库的主要目标是提供高性能的数据访问和分析能力,以便…...

线程的面试八股

​ Callable接口 Callable是一个interface,相当于给线程封装了一个返回值,方便程序猿借助多线程的方式计算结果. 创建一个匿名内部类, 实现 Callable 接口. Callable 带有泛型参数. 泛型参数表示返回值的类型. 重写 Callable 的 call 方法, 完成累加的过程. 直接通过返回值返…...

Jmeter 配置元件

Jmeter 配置元件 CSV 数据集配置HTTP Cookie 管理器HTTP Header 信息头管理器增加多个用户案列 使用Jmeter发送请求的时候,需要配置元件,配置请求Header、Cookie、数据集合等。可以模拟多个在线用户登录,修改请求头数据。 CSV 数据集配置 C…...

Java- @FunctionalInterface声明一个接口为函数式接口

基本介绍 FunctionalInterface 是 Java 8 中引入的注解,用于声明一个接口是函数式接口。函数式接口是指仅包含一个抽象方法的接口,可以用于支持 Lambda 表达式和方法引用。FunctionalInterface 注解确保该接口只包含一个抽象方法,从而确保其…...

Java使用Netty实现端口转发Http代理Sock5代理服务器

Java使用Netty实现端口转发&Http代理&Sock5代理服务器.md 一、简介1.功能2.参数配置3.程序下载4.程序启动5.源码 一、简介 这里总结整理了之前使用Java写的端口转发、Http代理、Sock5代理程序,放在同一个工程中,方便使用。 开发语言&#xff1a…...

Linux环境docker安装Neo4j,以及Neo4j新手入门教学(超详细版本)

目录 1、 图数据库Neo4j简介1.1 什么是图数据库1.2 能解决什么痛点1.3 对比关系型数据库1.4 什么是Neo4j1.5 Neo4j的构建元素 2. 环境搭建2.1 安装Neo4j Community Server2.2 docker 安装Neo4j Community Server2.3 Neo4j Desktop安装 3. Neo4j - CQL使用3.1 Neo4j - CQL简介3.…...

C++ inline 关键字有什么做用?

C/C 之中 inline 是一个很有意思的关键字,奇奇怪怪的用法见过不少,今天抽点时间出来聊聊这个东西。 inline 可以用在那些方面?修饰 inline 内链关键字到底有什么作用? OK:started 1、inline 可以用在类成员函数的声明…...

eNSP学习——理解ARP及Proxy ARP

目录 名词解释 实验内容 实验目的 实验步骤 实验拓扑 配置过程 基础配置 配置静态ARP 名词解释 ARP (Address Resolution Protocol)是用来将IP地址解析为MAC地址的协议。ARP表项可以分为动态和静态两种类型。   动态ARP是利用ARP广播报文,动态执行并自动进…...

Unity中UGUI在Mask剪裁粒子特效的实现

在Unity使用Mask是剪裁不了粒子特效的,之前有想过RenderTexture来实现,不过使用RenderTexture不适合用于很多个特效,因为RenderTexture依赖Camera的照射,如果在背包中每种道具都有不同的特效,那使用RenderTexture则需要…...

精通 VS 调试技巧,学习与工作效率翻倍!

​ ✨✨ 欢迎大家来到贝蒂大讲堂✨✨ ​ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 ​ 所属专栏:C语言学习 ​ 贝蒂的主页:Betty‘s blog 1. 什么是调试 当我们写代码时候常常会遇见输出结果不符合我们预…...

yarn 安装包时报“certificate has expired”

在通过yarn包管理器安装 yarn install 时候 报错: info No lockfile found. [1/4] Resolving packages... error Error: certificate has expired at TLSSocket.onConnectSecure (node:_tls_wrap:1539:34) at TLSSocket.emit (node:events:513:28) at…...

Qt5项目拆解第一集解决:中文乱码| 全局字体|注册表|QSS/CSS

# 一、乱码解决代码片段 QTextCodec是Qt中用于处理文本编码和字符集转换的类。它提供了一系列静态函数来实现不同编码的文本转换,包括编码转换、字符集检测和转换、以及数据流中的文本编码处理。QTextCodec类使得Qt可以在不同的编码和字符集之间进行无缝转换,从而方便地处理…...

消息队列RabbitMQ.01.安装部署与基本使用

目录 RabbitMQ的作用 Message queue 释义 问题思考 存在的问题 优化方案 案例分析 带来的好处 消息队列特点 Email邮件案例分析 Docker安装部署RabbitMQ 1.下拉镜像 2.运行RabbitMQ 3.打开防火墙端口号并重新运行防火墙 4.容器启动后,可以通过 docker logs 容器 查…...

1.24号c++

C绪论 c是c语言的扩充,C包含了C的所有属性,换一句话说,C语言在C中都合法。 C语言编程思想:面向过程 c编程思想:面向对象 可以说在C中一切皆对象。 c的三大属性:封装,继承,多态。…...

【GitHub项目推荐--12 年历史的 PDF 工具开源了】【转载】

最近在整理 PDF 的时候,有一些需求普通的 PDF 编辑器没办法满足,比如 PDF 批量合并、编辑等。 于是,我就去 GitHub 上看一看有没有现成的轮子,发现了这个 PDF 神器「PDF 补丁丁」,让人惊讶的是这个 PDF 神器有 12 年的…...

React16源码: React中的PortalComponent创建, 调和, 更新的源码实现

PortalComponent 1 )概述 React Portal之所以叫Portal,因为做的就是和“传送门”一样的事情render到一个组件里面去,实际改变的是网页上另一处的DOM结构主要关注 portal的创建, 调和, 更新过程 2 )源码 定位到 packages/react-…...

Hive-SQL语法大全

Hive SQL 语法大全 基于语法描述说明 CREATE DATABASE [IF NOT EXISTS] db_name [LOCATION] path; SELECT expr, ... FROM tbl ORDER BY col_name [ASC | DESC] (A | B | C)如上语法,在语法描述中出现: [],表示可选,如上[LOCATI…...

TVA 在宠物混合监护场景中的创新应用(4)

重磅预告:本专栏将独家连载新书《智能体视觉技术与应用》(系列丛书)部分精华内容,该书是世界首套系统阐述“因式智能体”视觉理论与实践的专著,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。…...

CCSv3.3安装配置避坑全记录:从补丁失败到硬件连接,手把手搞定DSP开发环境

CCSv3.3安装配置避坑全记录:从补丁失败到硬件连接,手把手搞定DSP开发环境 第一次接触DSP开发的朋友,十有八九会在CCSv3.3的安装配置环节栽跟头。这个2007年发布的经典版本至今仍被许多高校和实验室沿用,但它的安装过程堪称"雷…...

物联网平台资本逻辑与开发实战:从涂鸦融资看行业价值回归

1. 从资本视角看物联网平台:一场关于“入口”与“生态”的持久战最近和几个做硬件的朋友聊天,大家不约而同地提到了一个词:“上云”。这个“云”,指的就是物联网开发平台。从智能家居的插座、灯泡,到工业产线上的传感器…...

基于RAG与本地LLM的智能代码库管理工具部署与优化指南

1. 项目概述:一个为开发者打造的智能代码库管理工具最近在整理自己过去几年的项目代码时,我遇到了一个几乎所有开发者都会头疼的问题:代码库越来越多,但想快速找到某个特定功能的实现、或者想复用一段之前写过的优质代码时&#x…...

小白程序员必看!收藏这份Agent入门指南,抢占未来运维高薪岗位

本文用通俗易懂的语言解释了什么是AI Agent,将其类比为能自主决策并调用工具的“实习生”,强调其与普通AI聊天的区别在于能自动完成任务。文章详细阐述了Agent的“感知-思考-行动”工作流程,并通过运维场景对比,展示了Agent在告警…...

AI VTuber技术栈全解析:从Live2D到GPT-SoVITS的实战搭建指南

1. 项目概述:为什么我们需要一份AI VTuber的“Awesome”清单? 如果你最近在GitHub、B站或者一些技术社区里逛过,大概率会看到一个词反复出现: AI VTuber 。它不再是科幻电影里的概念,而是正在快速渗透到直播、内容创…...

AgentGym:构建标准化AI智能体训练与评估平台的实践指南

1. 项目概述:当AI智能体走进“健身房”最近在开源社区里,一个名为“AgentGym”的项目引起了我的注意。它来自开发者WooooDyy,名字起得很有意思——“智能体健身房”。这可不是让AI去举铁跑步,而是为那些基于大语言模型的智能体提供…...

PostgreSQL日期时间格式化终极指南:to_char、to_timestamp、extract epoch实战详解

PostgreSQL日期时间格式化终极指南:to_char、to_timestamp、extract epoch实战详解 在处理数据库时,日期和时间操作几乎是每个开发者都会遇到的挑战。PostgreSQL作为功能强大的开源关系型数据库,提供了丰富的日期时间处理函数,能够…...

基于sagents框架的AI智能体开发:从核心原理到实战应用

1. 项目概述:一个面向开发者的AI智能体构建框架最近在AI应用开发圈子里,一个名为sagents的开源项目开始引起不少同行的注意。如果你正在寻找一个能帮你快速构建、测试和部署AI智能体(Agent)的框架,而不是从零开始造轮子…...

Minecraft服务器技能数据自动化管理:mcpskills-cli命令行工具实战指南

1. 项目概述与核心价值 最近在折腾一些Minecraft服务器的自动化管理,发现很多重复性的技能配置、权限同步工作特别耗时。手动去游戏里敲指令,或者对着配置文件一条条改,效率低还容易出错。就在这个当口,我发现了 alibiinformatio…...