ElasticSearch字符串数组类型的精确查询与模糊查询(自定义分词后进行精确与模糊查询)

2023-10-26

一条数据中,有这样的一个字段Keyword:Computational devices; S models;现需要实现通过分号分词后来查询数据;查询规则如下:

1、检索Computational(不区分大小写)时命中结果;

2、检索Computational devices与devices Computational时命中结果;

3、检索devices S时不命中结果;

解决办法:

Keyword字段mapping:

"Keyword": {
            "type": "text",
            "analyzer": "standard",
            "position_increment_gap": 20 //每个词条的间隔,默认为100
          }

插入数据时将值转换为数组类型添加;全查询时得到如下数据;

"Keyword": [
            "Computational devices",
            "S models"
          ]

查询方法:

{
  "query": {
    "match_phrase": {
      "Keyword": {
        "query": "devices computational",
        "slop":2 //两个词条的位置交换需要移动两次;如果查询Computational models需要命中则需要移动22次
      }
    }
  }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ElasticSearch字符串数组类型的精确查询与模糊查询(自定义分词后进行精确与模糊查询) 的相关文章

  • 在几分钟内创建一个 Python Discord 机器人:简单教程

    Discord 机器人是在 Discord 平台上运行的自动化程序 机器人可以做各种各样的事情 从播放音乐 发送自动消息 管理角色 到踢掉违反规则的用户 以及许多其他任务 Discord 机器人的核心功能是基于事件构建的 例如 当发生新消息
  • 如何在 Apache/Nginx 中阻止 .git 目录

    版本控制系统 例如 Git 对于软件开发至关重要 但是 如果没有适当保护 它们可能会暴露敏感信息 许多 Web 开发人员错误地让 git 目录在生产环境中可访问 这可能允许任何人下载和查看存储库 本文演示了如何阻止对 gitApache 和
  • 如何在 macOS 上安装 LibreOffice

    如果您使用 macOS 您可能会使用 Apple 构建的应用程序 例如 Pages Numbers 和 Keynote 进行文字处理 电子表格和演示文稿 这些都是很棒的程序 具有很多功能并且易于使用 它们也不是免费的 您只能通过 Mac A
  • Linux 中的 whoami 命令(查找登录用户)

    whoami 是一个基本的 Unix Linux 命令 用于查找与当前有效用户 ID 关联的用户名 这通常用于识别 shell 中当前登录的用户 该命令也适用于外壳脚本识别运行脚本的用户 ID Syntax whoami OPTION Li
  • 如何在 PHP 中计算数组元素

    您可以使用 PHPcount or sizeof 函数获取数组中元素或值的数量 这count and sizeof 对于已使用空数组初始化的变量 方法返回 0 如果数组未初始化 您将看到错误 在这种情况下 您可以使用 isset 函数来检查
  • 如何禁用 Apache 中的目录列表

    Apache 是最流行的开源 Web 服务器之一 全球许多网站都在使用它 它的功能之一是能够在不存在索引文件时列出目录及其内容 此功能虽然对某些用途很方便 但可能会向公众公开有关网站结构或内容的敏感信息 在本文中 我们将引导您了解如何禁用
  • 如何在 Ubuntu 16.04 和 14.04 LTS 上安装 phpPgAdmin

    phpPg管理员是一个 Web 界面 用于以非常简单的方式访问和管理 PostgreSQL 数据库 我们可以轻松地创建新的数据库 数据库中的表 用户 存储过程等 此外 我们还可以执行PL pgSQL和其他存储过程 它还提供了从 Web 界面
  • ERROR 1114 (HY000): 表‘tablename’已满(解决方案)

    MySQL 是一种广泛使用的开源关系数据库管理系统 RDBMS 可实现高效的数据存储和检索 但是 用户偶尔可能会遇到错误 例如 ERROR 1114 HY000 The table table name is full 消息 当达到表的存储
  • 什么是Fish(友好交互式SHell)?

    鱼 或者 友好的交互式SHell 是一个 Unix shell 其设计重点是用户友好性和交互使用 它于 2005 年推出 由于其独特的功能 有用的默认设置以及对愉快的用户体验的关注 赢得了众多追随者 鱼的主要特征和特点 交互式自动完成 Fi
  • Unix/Linux 中什么是僵尸进程

    僵尸进程是指已完成执行但其父进程尚未终止并释放其资源的进程 在 Unix Linux 中 处于这种状态的进程被视为僵尸进程 这些进程会占用宝贵的系统资源 如果处理不当 可能会导致稳定性问题 以下是了解和处理 Unix Linux 中僵尸进程
  • 您绝对需要的 7 件在家办公必需品

    甚至在 COVID 19 大流行爆发之前 很多人就在家工作 然而 他们中的大多数人并不是全职在家工作 这就是为什么这种强制性的远程办公可能异常难以适应 虽然业务模式或工作实践的每次变化都需要一些时间来适应 但您需要记住 有很多方法可以稍微促
  • 在 Laravel 中设置文件权限的正确方法:详细教程

    Laravel 是一种流行的 Web 应用程序开发 PHP 框架 非常注重安全性 在 Laravel 的众多安全考虑因素中 正确设置文件权限至关重要 如果没有正确的权限 您的应用程序可能容易受到攻击 或者可能由于缺乏必要的访问权限而发生故障
  • 如何保护 Apache 中的特定 URL

    阻止用户访问特定网页有助于防止他们接触敏感信息 如果您将站点托管在 Apache 服务器上 则可以通过锁定特定 URL 来锁定站点 如果您只需要阻止访问单个页面 则可以锁定 URL 而无需锁定整个站点 使用 Apache 有多种方法可以做到
  • Bash 读取命令

    Bash 附带了许多内置命令 您可以在命令行或 shell 脚本中使用这些命令 在本文中 我们将探讨内置read命令 Bash read内置 read是一个 bash 内置命令 它从标准输入 或文件描述符 读取一行并将该行拆分为单词 第一个
  • 如何在 CentOS 8 上安装 Visual Studio Code

    视觉工作室代码是微软开发的开源 跨平台代码编辑器 它具有内置的调试支持 嵌入式Git控制 语法突出显示 代码完成 集成终端 代码重构和片段 本文介绍如何在 CentOS 8 上安装 Visual Studio Code 先决条件 这些说明假
  • 如何在 CentOS 8 上安装和使用 FFmpeg

    FFmpeg 是一个用于处理多媒体文件的免费开源工具集合 它包含一组共享的音频和视频库 例如libavcodec libavformat和libavutil 使用 FFmpeg 您可以在各种视频和音频格式之间进行转换 设置采样率 捕获流音频
  • 如何在 Debian 9 上安装和配置 Redis

    Redis 是一个开源内存键值数据存储 它可以用作数据库 缓存和消息代理 并支持各种数据结构 如字符串 哈希 列表 集合等 Redis 通过 Redis Sentinel 提供高可用性 包括监控 通知 自动故障转移 它还通过 Redis C
  • Python 列表排序

    对数据进行排序是使用 Python 时最常见的任务之一 例如 您可能希望按姓名对团队成员列表进行排序 或按优先级对项目列表进行排序 本文介绍了如何排序Python 中的列表 Python sort and sorted 在 Python 中
  • 如何在 Debian 9 上安装 TensorFlow

    TensorFlow是由 Google 构建的免费开源机器学习平台 许多组织都在使用它 包括 Twitter PayPal 英特尔 联想和空中客车公司 TensorFlow 可以在 Python 虚拟环境中安装在系统范围内 作为Docker
  • ​如何从 Ubuntu 16.04 升级到 18.04

    最新的 Ubuntu LTS 版本 Ubuntu 18 04 Bionic Beaver 于 2018 年 4 月 26 日发布 支持期为 5 年 直至 2023 年 4 月 在本教程中 我们将向您展示如何升级 Ubuntu 16 04 安

随机推荐

  • Netcat (nc) 命令及示例

    网络猫 或nc 是一个命令行实用程序 它使用 TCP 或 UDP 协议跨网络连接读取和写入数据 它是网络和系统管理员武器库中最强大的工具之一 被视为网络工具中的瑞士军刀 Netcat 是跨平台的 可用于 Linux macOS Window
  • 在 Ubuntu 20.04 上使用 Let's Encrypt 保护 Apache

    Let s Encrypt 是由互联网安全研究小组 ISRG 创建的证书颁发机构 它通过完全自动化的流程提供免费的 SSL 证书 旨在消除手动证书创建 验证 安装和续订 Let s Encrypt 颁发的证书自颁发之日起 90 天内有效 并
  • 如何在 CentOS 8 上安装 VirtualBox

    虚拟盒子是一个开源 跨平台的虚拟化平台 它支持多种来宾操作系统 包括 Linux 和 Windows 并允许您同时运行多个虚拟机 在本教程中 我们将解释如何在 CentOS 8 上安装 VirtualBox 在 CentOS 8 上安装 V
  • 在 CentOS 7 上使用 Let's Encrypt 保护 Apache

    Let s Encrypt 是由互联网安全研究小组 ISRG 开发的免费 自动化 开放的证书颁发机构 Let s Encrypt 颁发的证书自颁发之日起 90 天内有效 并且受到当今所有主要浏览器的信任 在本教程中 我们将介绍在运行 Apa
  • 如何在 Ubuntu 18.04 上安装 PostgreSQL

    PostgreSQL 或 Postgres 是一个开源通用对象关系数据库管理系统 PostgreSQL 具有许多高级功能 可让您创建复杂的 Web 应用程序 在本教程中 我们将向您展示如何在 Ubuntu 18 04 上安装 Postgre
  • 电脑开机后卡死,桌面图标点了没反应怎么办

    今天接到客户的电话 说一台台式办公PC出现故障 具体故障现象如下 电脑可以正常开机 开机后点击桌面上的所有图标都没反应 开始菜单可以点开 点开后里面的内容也无法点击打开 右键点击桌面下方启动栏可以点出来选项卡 但是点击选项卡里的内容无法打开
  • 写代码遇到Qt相关问题

    目录 qt clicked 函数 传递数据 QT读取文件个数 QT读txt数据并求出行数和列数 qt读写json 我的json文件 读写函数 换行和不换行的区别就是参数Indented和Compact的区别 把json写到文件中 QT信号槽
  • 低通滤波器算法实现_控制算法之超前-滞后补偿器(Lead_Lag Compensator)

    Lead Lag控制器主要从频域的角度来对被控系统进行校正 改善系统的频域特性 如相角裕度 幅值裕度以及灵敏度等 从而改善系统的稳定性及控制精度 是一种基于频率响应的校正方法 时域的卷积 频域的乘积 这句话很重要 深入理解 一 Lead L
  • flutter 防止widget rebuild(亲测有效2020篇)

    相比这个问题很多开发着都已经遇到了 头疼了很久了吧 我也是 网上搜到各种方法 试了还是不行 下面我举一下场景 跳转场景 页面A gt 页面B gt 页面C gt 页面D 从上面简单都例子 我很悲催的告诉大家不管我从哪个页面跳哪个页面 从B
  • Awk学习笔记

    Awk学习笔记 整理 Jims of 肥肥世家
  • windows下安装openssl的两种方式

    windows下按装openssl 第一种 第二种 因为工作需要第一次接触openssl 中间踩得坑实在是太多了 最后也算放弃了那种安装方式原则了一个比较简单的 第一种 第一种就是网上平常的说的方法 先下载 ActivePerl 5 24
  • 图文使用freetype渲染字体+字体颜色+字体大小

    freetype的介绍各种博客都有 可以搜索看看 freetype2 8的源码及编译出的库及头文件链接 https download csdn net download weixin 40550094 12117925 我这边就直接写dem
  • sql语句case when常用查询总结

    一 case when 语句语法逻辑 case when 是mySQL里面的控制流语句 和if then 的分支判断逻辑很相似 case when语句有两种 1 简单case when 2 case搜索函数法 简单case when只能处理
  • 大数据组件_Kafka学习

    Kafka学习 基本概念 1 Broker 每一台kafka机器节点就是一个broker 2 Producer 消息生产者 往kafka的topic写数据 3 Consumer 消息消费者 从kafka的topic读取数据 4 Topic
  • java生成大小写字母加数字的随机数

    小小的验证码的随机数生成 以前自己一直没有思考过 仔细想想其实实现起来并没有多难 只是自己没有想过这些东西的实现具体应该怎么做比较好 在自己思考后 参考了网上其他作者的一些代码 下面是具体的实现代码 public class Validat
  • LightGBM 原理、代码最全解读!

    来源 Microstrong 本文主要内容概览 1 LightGBM简介 GBDT Gradient Boosting Decision Tree 是机器学习中一个长盛不衰的模型 其主要思想是利用弱分类器 决策树 迭代训练以得到最优模型 该
  • 微信小程序如何访问本地的服务器,springboot2为例

    1 我们需要改一个配置就可以了 以springboot2的项目为例子 2
  • m.777lu.co/wap.php,MaliStore/app.wxss at master · kingpro/MaliStore · GitHub

    src url data font truetype charset utf 8 base64 AAEAAAALAIAAAwAwR1NVQrD s 0AAAE4AAAAQk9TLzJXBku4AAABfAAAAFZjbWFwX864igAA
  • 请问投稿中要求上传的author_SCI投稿过程中主要有哪些状态,持续时间大概多久?...

    原标题 SCI投稿过程中主要有哪些状态 持续时间大概多久 不同出版社旗下SCI杂志的投稿方式 过程以及状态有所区别 但是基本形式大致相同 我们掌握一种杂志的投稿及投稿状态 基本可以以一推百 不同杂志的审稿周期差异比较大 从几天到数月不等 甚
  • ElasticSearch字符串数组类型的精确查询与模糊查询(自定义分词后进行精确与模糊查询)

    一条数据中 有这样的一个字段Keyword Computational devices S models 现需要实现通过分号分词后来查询数据 查询规则如下 1 检索Computational 不区分大小写 时命中结果 2 检索Computa