Elasticsearch(11) intervals的使用

elasticsearch version 7.10.1
在Elasticsearch中,intervals查询是用来做复杂的区间表达式匹配的,它可以基于分析过的文本字段执行一系列复杂的关系运算。intervals查询特别适合于那些需要对文本数据进行模式匹配,而不只是单一词汇匹配的情况。

intervals语法

POST _search
{"query": {"intervals" : {"my_text" : {"all_of" : {"ordered" : true,"intervals" : [{"match" : {"query" : "my favorite food","max_gaps" : 0,"ordered" : true}},{"any_of" : {"intervals" : [{ "match" : { "query" : "hot water" } },{ "match" : { "query" : "cold porridge" } }]}}]}}}}
}
  • intervals查询用于找到文本字段中满足一系列间隔条件的文
  • all_of子句要求所有列出的间隔条件都必须满足。
  • ordered: 设置为true,表示间隔条件必须按照指定的顺序出现。
  • intervals: 包含了一系列具体的间隔条件
  • any_of: 至少有一个列出的间隔条件必须满足

第一个间隔条件

  • 查找与"my favorite food"这个查询完全匹配的文本。
  • 设置为0,表示查询词之间不允许有任何间隔(即它们是连续的)。
  • 设置为true,再次确认查询词必须按照给定的顺序出现。

第二个间隔条件

  • 第一个match:查找与"hot water"这个查询匹配的文本
  • 第二个match:查找与"cold porridge"这个查询匹配的文本。

案例

场景一

使用intervals查询找寻句子中“quick”和“dog”之间不超过两个单词的文档

索引创建
PUT /example_index
{"mappings": {"properties": {"sentence": {"type": "text","analyzer": "standard"}}}
}
文档插入
POST /example_index/_doc
{"sentence": "The quick brown fox jumps over the lazy dog."
}POST /example_index/_doc
{"sentence": "Red roses are blue violets are red."
}POST /example_index/_doc
{"sentence": "The cat in the hat sat on the mat."
}
查询语句

场景二

使用intervals查询查找包含数字“3”到“7”的连续序列的文档

索引创建
GET /example_index/_search
{"query": {"intervals": {"sentence": {"all_of": {"intervals": [{"match": {"query": "quick"}},{"match": {"query": "dog"}}],"ordered": true,"max_gaps": 10}}}}
}
文档插入
POST /example_index_numbers/_doc
{"numbers": "1 2 3 4 5 6 7"
}POST /example_index_numbers/_doc
{"numbers": "8 9 10 11 12 13 14"
}POST /example_index_numbers/_doc
{"numbers": "15 16 17 18 19 20 21"
}
查询语句
GET /example_index_numbers/_search
{"query": {"intervals": {"numbers": {"all_of": {"intervals": [{"match": {"query": "3"}},{"match": {"query": "7"}}],"max_gaps": 3,"ordered": true}}}}
}

场景三

查询在职位描述中包含了“blue”并且紧接着是“violets”的文档。

索引创建
PUT /example_index
{"mappings": {"properties": {"content": {"type": "text","analyzer": "standard"}}}
}
文档插入
POST /example_index/_doc
{"content": "John Doe is an engineer from New York working at XYZ Corp."
}POST /example_index/_doc
{"content": "Jane Smith is a software developer based in California."
}POST /example_index/_doc
{"content": "Michael Johnson works as a data scientist at ABC Inc. in Texas."
}POST /example_index/_doc
{"content": "Sarah Brown is a product manager living in Illinois."
}POST /example_index/_doc
{"content": "Emily Davis, an architect from Washington DC, joined XYZ Corp last year."
}POST /example_index/_doc
{"content": "Robert Harris, who lives in Oregon, is a senior software engineer."
}POST /example_index/_doc
{"content": "Jessica Wilson works in marketing for ABC Inc., located in Florida."
}
查询语句
GET /example_index/_search
{"query": {"intervals": {"sentence": {"all_of": {"intervals": [{"match": {"query": "blue"}},{"match": {"query": "violets"}}],"ordered": true,"max_gaps":0}}}}
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态规划课堂6-----回文串问题

目录 引言: 例题1:回文子串 例题2:回文串分割IV 例题3:分割回文串II 例题4:最长回文子序列 例题5:让字符串成为回文串的最小插入次数 引言: 回文字符串 是正着读和倒过来读一样的字符串。…

【周赛】第385场周赛

🔥博客主页: A_SHOWY🎥系列专栏:力扣刷题总结录 数据结构 云计算 数字图像处理 力扣每日一题_ 【1】100212.统计前后缀下标对 100212. 统计前后缀下标对 Ihttps://leetcode.cn/problems/count-prefix-and-suffix-pairs-i/ 熟…

4.1_4 文件的物理结构

文章目录 4.1_4 文件的物理结构(一)文件块、磁盘块(二)文件分配方式——连续分配(三)文件分配方式——链接分配(1)链接分配——隐式链接(2)链接分配——显式链…

OpenStack之存储cinder

一、 存储 1、DAS 1)存储更多的依赖服务器主机操作系统进行数据的IO读写和存储维护管理,数据备份和恢复要求占用服务器主机资源(包括CPU、系统IO等) 2)直连式存储与服务器主机之间的连接通道通常采用SCSI连接,随着服务器CPU的处…

Type-C接口介绍

1、USB介绍 (1)标准USB A型连接器(左)及B型连接器(右) 引脚1 VCC(5V) 引脚2 Data- 引脚3 Data 引脚4 接地 (2)Micro USB 引脚定义及OTG (USB-HOST) …

QT 多线程使用以及注意事项

Qt 是一个跨平台的 C 应用程序开发框架,提供了丰富的库和工具,用于开发图形用户界面、网络应用、数据库应用等。Qt 中的多线程支持使得开发者可以方便地在应用程序中实现并发执行的功能。 以下是一个简单的使用 Qt 多线程的代码例程: #inclu…

单片机实践:开发板上运行AES128防盗算法

本章内容主要是在开发板上运行AES128防盗算法,并且通过串口调试助手观测防盗算法加密后的值以及解密后的值,判断防盗算法是否在开发板上正确运行。 1,防盗算法 以下为AES128防盗算法源码: aes.h文件源码 #ifndef _AES_H_ #def…

mvcc介绍

前提:在介绍mvcc之前,先简单介绍一下mysql事务的相关问题,mvcc归根结底是用来解决事务并发问题的,当然这个解决不是全部解决,只是解决了其中的一部分问题! mysql事务 一、事务的基本要素(ACID&a…

k8s CKA upgrade - Kubeadm 版本升级实测

升级版本最好是逐步去升级,不要跨越多个大版本,可能会出错 大体流程: 1.先确定升级版本 2.升级kubeadm 3.驱逐节点 4.升级kubelet和kubectl 5.重启kubelet服务 6.恢复节点,使其上线 1.查看现版本:升级版本 kubectl ge…

python从入门到精通(十五):python爬虫完整学习大纲

一、基础知识 爬虫的基本概念和工作原理。 HTTP 协议和网页结构。 Python 爬虫开发的基础库,如 requests、BeautifulSoup 等。 常见的反爬虫机制和应对方法。 二、爬虫逆向的技术 代理服务器和 IP 封锁突破。 用户代理和请求头模拟。 JavaScript 解析和执行。 验证码…

华为配置Hotspot2.0无线网络示例

配置Hotspot2.0无线网络示例 组网图形 图1 配置Hotspot2.0无线网络组网图 组网需求配置思路配置注意事项操作步骤配置文件 组网需求 某网络服务商在原有移动网络业务的基础上,新增部署WLAN网络接入业务,为用户提供更好的网络体验。但传统的WLAN网络业…

React/RN组件避免重复渲染的一些技巧

组件基础 回顾下React中创建组件的几种方式: ES5的React.createClass方式ES6的React.Component方式无状态的函数组件方式带hooks的函数组件方式 这里我们只讨论Component和函数组件。我们知道Component是否发生重渲染是由shouldComponentUpdate决定的,…

【每日一题】2024年3月汇编(上)

3.1【2369】检查数组是否存在有效划分 2369. 检查数组是否存在有效划分https://leetcode.cn/problems/check-if-there-is-a-valid-partition-for-the-array/ 1.这样的判断可以用动态规划来解决,用一个长度为(n1) 的数组来记录 是否存在有效划分,dp[i]…

乘法-逆矩阵

文章目录 1. 矩阵相乘-4种方式1.1 CAB1.2 AX 列组合1.3 XB 行组合 2. A,AB, A T A^T AT的逆3. 高斯消元法求 A − 1 A^{-1} A−1 1. 矩阵相乘-4种方式 1.1 CAB 假设我们要求得矩阵CAB ,可以用如下公式表示 c i j ∑ k 1 N a i k b k j (1) c_{ij}\sum_{k1}^Na_…

Bean的作用域、Bean的自动装配、注解自动装配 (Spring学习笔记五)

1、Bean 的作用域 官网上显示有六种 1、Bean的作用域默认的是singleton&#xff08;单例模式的实现&#xff09; 也可以显示的设置&#xff08;单例模式的实现&#xff09; <!--用scope可以设置Bean的作用域--><bean id"user2" class"com.li.pojo.Us…

如何实现分词

分词&#xff08;Tokenization&#xff09;是自然语言处理&#xff08;NLP&#xff09;中的一个基本步骤&#xff0c;特别是在构建搜索引擎时&#xff0c;它将文本拆分成单词、短语或其他有意义的元素&#xff08;称为“词素”或“tokens”&#xff09;。对于中文文本来说&…

A*(AStar)算法总结

简介 A* 算法&#xff08;念做&#xff1a;A Star&#xff09;是一种常用的路径查找和图形遍历算法&#xff0c;具有较好的性能和准确度。让我为您简要介绍一下 A* 算法的原理和实现。 广度优先搜索&#xff1a; 广度优先搜索以广度作为优先级进行搜索。从起点开始&#xff0…

NCV8705MTADJTCG稳压器芯片中文资料规格书PDF数据手册引脚图图片价格功能

产品概述&#xff1a; NCV8705 是一款低噪音、低功耗和低泄漏线性电压稳压器。该器件具有卓越的噪音和 PSRR 规格&#xff0c;适用于使用视频接收器、成像传感器、音频处理器或需要外部洁净电源的任何部件的产品。NCV8705 使用创新的自适应接地电流电路 可确保轻负载调节下的超…

IDEA SpringBoot + Gradle无法运行测试问题

解决 i. 查看 build.gradle 中是否配置了 tasks.named(‘test’) { useJUnitPlatform() } ii. 打开IDEA 设置 &#xff08;Mac用户 Com &#xff0c; 可快速打开 / Win用户 Ctrl Alt s&#xff09; 检索Gradle 后&#xff0c;将Run tests using 选项 变更成 intelliJ IDEA…

http请求方法15种,附图可以下载保存备查。

一、http请求组成和流程 HTTP请求是客户端&#xff08;如浏览器&#xff09;向服务器发送的请求&#xff0c;以获取特定资源或执行特定操作。HTTP请求由以下几个部分组成&#xff1a; 请求行&#xff1a;包含请求方法、请求的URL和HTTP协议版本。常见的请求方法有GET、POST、P…