Elasticsearch模糊查询之Wildcard

{“wildcard” : { “LPR.keyword” : { “wildcard” : “${Keyword}”} }},你的示例中使用了 wildcard 查询,它适用于模糊搜索,允许使用通配符(* 和 ?)来匹配字段值。你使用了 keyword 子字段来确保精确匹配,这是一个常见的做法,因为 keyword 字段不会进行分词,可以直接用于通配符查询。
示例解释
假设你的索引中有一个字段 LPR,它被定义为一个 text 字段,同时有一个 keyword 子字段用于精确匹配和通配符查询:
映射定义示例

PUT /my_index
{"mappings": {"properties": {"LPR": {"type": "text","fields": {"keyword": {"type": "keyword"}}}}}
}

wildcard 查询示例
你想要在 LPR.keyword 字段中进行通配符查询,以下是查询的 JSON 格式:

GET /my_index/_search
{"query": {"wildcard": {"LPR.keyword": {"wildcard": "${Keyword}"}}}
}

wildcard 查询用于匹配符合通配符模式的文档。
LPR.keyword 指定要在 LPR 字段的 keyword 子字段上进行查询。
${Keyword} 是一个变量,代表你要搜索的通配符模式(例如,abc,abc*,a*c,等)。
示例查询
假设你想要查找所有在 LPR 字段中包含 “abc” 的文档,你可以将 ${Keyword} 替换为实际的通配符模式:

GET /my_index/_search
{"query": {"wildcard": {"LPR.keyword": {"wildcard": "*abc*"}}}
}

详细解释
abc”:这个通配符模式表示匹配所有包含 “abc” 的文档,无论 “abc” 前后有多少字符。
使用注意事项
性能:通配符查询,特别是以 * 开头的查询(例如 “abc”),可能会很慢,因为它们需要扫描大量文档。对于大数据集,最好避免这种查询,或者使用其他索引优化策略。
大小写敏感:keyword 字段是大小写敏感的。如果需要大小写不敏感的匹配,可以考虑在索引时标准化数据(例如,转换为小写)。

Wildcard(通配符)中的*和?区别

Wildcard(通配符)中的*和?在功能和使用上存在明显的区别,主要体现在它们所能匹配的字符数量和范围上。

  1. *(星号)
    功能:在通配符中代表零个、一个或多个字符。这意味着它可以匹配任意长度的字符串,包括空字符串。
    使用场景:常用于模糊搜索,特别是在需要匹配多个字符或者不确定具体字符数量的情况下。例如,在文件名匹配中,.txt可以匹配所有以.txt结尾的文件,无论其前缀是什么。
    注意事项:由于可以匹配任意长度的字符串,包括零个字符,因此在某些情况下可能会导致意外的匹配结果。因此,在使用时需要特别注意匹配模式的精确性。
  2. ?(问号)
    功能:?在通配符中代表任意一个字符。这意味着它只能匹配一个字符,无论这个字符是什么。
    使用场景:?通常用于需要精确匹配一个字符但不确定这个字符具体是什么的情况。例如,在文件名匹配中,report?.txt可以匹配report1.txt、reportA.txt等,但不会匹配report.txt或reporttwo.txt。
    注意事项:由于?只能匹配一个字符,因此在使用时需要确保匹配模式中的?数量与要匹配的字符数量一致。

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

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

相关文章

外设购物平台

目 录 一、系统分析 二、系统设计 2.1 系统功能设计 2.2 数据库设计 三、系统实现 3.1 注册功能 3.2 登录功能 3.3 分页查询所有商品信息功能 3.4 分页条件(精确、模糊)查询商品信息功能 3.5 购物车功能 3.6 订单管理功能 四、项…

【Opencv】模糊

消除噪声 用该像素周围的平均值代替该像素值 4个函数 blur():最经典的 import os import cv2 img cv2.imread(os.path.join(.,dog.jpg)) k_size 7 #窗口大小,数字越大,模糊越强 img_blur cv2.blur(img,(k_size,k_size)) #窗口是正方形&#xff…

云计算实训16——关于web,http协议,https协议,apache,nginx的学习与认知

一、web基本概念和常识 1.Web Web 服务是动态的、可交互的、跨平台的和图形化的为⽤户提供的⼀种在互联⽹上浏览信息的服务。 2.web服务器(web server) 也称HTTP服务器(HTTP server),主要有 Nginx、Apache、Tomcat 等。…

C#使用csvhelper实现csv的操作

新建控制台项目 安装csvhelper 33.0.1 写入csv 新建Foo.cs namespace CsvSut02;public class Foo {public int Id { get; set; }public string Name { get; set; } }批量写入 using System.Globalization; using CsvHelper; using CsvHelper.Configuration;namespace Csv…

[数据集][目标检测]金属罐缺陷检测数据集VOC+YOLO格式8095张4类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):8095 标注数量(xml文件个数):8095 标注数量(txt文件个数):8095 标注…

使用Process Explorer和Dependency Walker排查dll动态库加载失败的问题

目录 1、问题描述 2、如何调试Release版本的代码? 3、使用Process Explorer查看exe主程序加载的dll库列表,发现mediaplay.dll没有加载起来 4、使用Dependency Walker查看rtcmpdll.dll的库依赖关系和接口调用情况,定位问题 4.1、使用Depe…

Javascript面试基础6【每日更新10】

Gulp gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器;它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成 Gulp的核心概念:流 流,简单来说就是建立在面向对象基础上的一种抽象的…

多微信聚合神器:高效沟通,一个界面全搞定!

大家都知道,频繁的来回切换微信,不仅浪费时间,还容易错过重要的信息。 今天,我要向大家推荐一款多微信管理神器——个微管理系统,助你实现统一管理,聚合聊天,让沟通变得更加高效。 1、网页扫码…

基于MindIE实现通义千问Qwen推理加速

一、昇腾开发者平台申请镜像 登录Ascend官网昇腾社区-官网丨昇腾万里 让智能无所不及 二、登录并下载mindie镜像 #登录docker login -u XXX#密码XXX#下载镜像docker pull XXX 三、下载Qwen的镜像 使用wget命令下载Qwen1.5-0.5B-Chat镜像,放在/mnt/Qwen/Qwen1.5-…

【无标题】Git(仓库,分支,分支冲突)

Git 一种分布式版本控制系统,用于跟踪和管理代码的变更 一.Git的主要功能: 二.准备git机器 修改静态ip,主机名 三.git仓库的建立: 1.安装git [rootgit ~]# yum -y install git 2.创建一个…

【策略工厂模式】记录策略工厂模式简单实现

策略工厂模式 1. 需求背景2. 代码实现2.1 定义基类接口2.2 排序策略接口定义2.3 定义抽象类,实现策略接口2.4 具体的排序策略实现类2.5 实现策略工厂类2.6 控制类 3. 启动测试4. 总结 1. 需求背景 现在需要你创建一个策略工厂类,来根据策略实现各种排序…

【JAVA】记录一次前端无能造成的 线上bug

有一个需求是 当方式切换 垫资时 清空 当前所选细单商品 但是前端的奇葩 操作是,只是在页面上清空 细单。 不请求 后台删除 细单 让前端 必须 清空同时 请求后台 删除细单 但是 该前端 技术不行, 嫌麻烦 不做 只好 后台 判断该类型时 进行删除操作…

AutoMQ 开源可观测性方案:夜莺 Flashcat

01 引言 在现代企业中,随着数据处理需求的不断增长,AutoMQ [1] 作为一种高效、低成本的流处理系统,逐渐成为企业实时数据处理的关键组件。然而,随着集群规模的扩大和业务复杂性的增加,确保 AutoMQ 集群的稳定性、高可…

权限管理的概述以及vue开发前端的路由、菜单、按钮权限控制实现方案

1. 权限管理概念 1.1 权限定义 权限管理是确保用户只能访问被授权资源的机制。在计算机系统中,权限通常指对特定数据或功能的访问权。权限的设置和控制对于保护数据安全和系统安全至关重要。 1.2 前端权限控制重要性 前端权限控制是用户与应用交互的第一道防线。…

黑马头条Day12-项目部署_持续集成

一、今日内容介绍 1. 什么是持续集成 持续集成(Continuous integration,简称CI),指的是频繁地(一天多次)将代码集成到主干。 持续集成的组成要素: 一个自动构建过程,从检出代码、…

jdk版本管理利器-sdkman

1.什么是sdkman? sdkman是一个轻量级、支持多平台的开源开发工具管理器,可以通过它安装任意主流发行版本(例如OpenJDK、Kona、GraalVM等等)的任意版本的JDK。通过下面的命令可以轻易安装sdkman: 2.安装 curl -s "https://…

什么是 5G?

什么是 5G? 5G 是第五代无线蜂窝技术,与以前的网络相比,它提供了更高的上传和下载速度、更一致的连接以及更高的容量。5G 比目前流行的 4G 网络更快、更可靠,并有可能改变我们使用互联网访问应用程序、社交网络和信息的方式。例如…

通过 WSL 2 在Windows 上挂载 Linux 磁盘

原文查看 曾为了传输或者共享不同系统的文件频繁地在 Windows 和 Linux 系统之间切换,效率过低,所以尝试通过 WSL 2 在Windows 上挂载 Linux 磁盘。 先决条件 需要在Windows 10 2004 及更高版本(Build 19041 及更高版本)或 Win…

Redis 缓存

安装 安装 Redis 下载: Releases tporadowski/redis (github.com) winr ----services.msc-----将redis 设置为手动(只是学习,如果经常用可以设置为自动) 安装 redis-py 库 pip install redis-py Redis 和 StrictRedis redis-py 提供 Redis 和 Str…

UDP通信 单播,广播,组播

UDP通信实现 #include <sys/types.h> #include <sys/socket.h> ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen); - 参数&#xff1a; struct sockaddr *src_addr, socklen_t *addrlen…