es-已有mapping,实现查询不区分大小写

news/2025/3/15 16:18:26/

一、写在前面

es查询默认区分大小写

二、实现原理

normalizer是 keyword的一个属性

参考

听说你还没掌握 ElasticSearch Normalizer 的使用方法?_yinni11的博客-CSDN博客

二、实现区分大小写的三种方案

 方案一:直接创建对应的mapping

适用于还没有创建mapping的场景

PUT testIndex{"settings":{"index":{"number_of_shards":"14","number_of_replicas":"2","analysis":{"normalizer":{"lowercase_normalizer":{"filter":["lowercase"],"type":"custom","char_filter":[]}}}}},"mappings":{"person":{"dynamic_templates":[{"notanalyzed":{"match_mapping_type":"string","mapping":{"index":true,"type":"keyword"}}}],"dynamic":true,"enabled":true,"properties":{"id":{"type":"long"},"testLower":{"type":"keyword","normalizer":"lowercase_normalizer"}}}}
}

 方案二:新建mapping然后将老的数据导入到新的mapping

参考elasticsearch 实现查询忽略大小写_elasticsearch 忽略大小写_一个想努力学技术的程序员的博客-CSDN博客

方案三、在现有mapping基础上配置normalizer并新增字段,

1、关闭索引,不然会报“Can't update non dynamic settings ”

POST test_index/_close

2、settings中设置normalizer 

PUT test_index/_settings 
{"index": {"analysis": {"normalizer":{"lowercase_normalizer":{"type":"custom","char_filter":[],"filter":["lowercase"]}}}}} 

3、打开索引

 POST test_index/_open

4、新增字段

PUT test_index/person/_mapping
{"properties": {"testFieldLower": {"type": "keyword","normalizer": "lowercase_normalizer"}}
}

参考

elasticsearch 实现查询忽略大小写_elasticsearch 忽略大小写_一个想努力学技术的程序员的博客-CSDN博客 


http://www.ppmy.cn/news/928006.html

相关文章

按键精灵注册大漠插件

大漠插件即为dm.dll,我们需要注册到系统里才可以对插件进行一个调用 简单的代码演示 附件路径 "C:\按键精灵附件" PutAttachment 附件路径, "*.*" RunApp "regsvr32 " &附件路径 & "\dm.dll /s " Set dm createobject(&qu…

AcWing 105. 七夕祭—数学推导、贪心

问题链接 AcWing 105. 七夕祭 问题描述 分析 首先,如果想要做到每行的摊位数都一样,那么总摊位数一定是行数的倍数(0倍也行),同理如果想要做到每列的摊位数都一样,那么总摊位数应该是列数的倍数。 其次,我们可以发现…

瀚高数据库企业版V6流复制安装指导手册(Linux)

目录 瀚高数据库企业版V6流复制安装指导手册 1.瀚高数据库企业版V6安装 2. 主节点配置 2.1 修改参数并创建复制槽 2.2 配置数据库文件 3. 备节点配置 3.1 【备节点配置前请确保数据库软件安装完毕且环境变量修改正确】 瀚高数据库企业版V6流复制安装指导手册 1.瀚高数据库…

icomoon下载字体图标

1.进入官网,点击右上角icomoon app 2.选择需要的字体图标,然后点击右下角generate font 3.点击download 4.下载,将压缩包解压,(保留,后续加新字体会用到),打开,将font文件…

Cadence 电路仿真疑难篇解决专题

🏡《总目录》   🏡《宝典目录》 目录 1,内容概述2,内容目录 1,内容概述 本专题记录专栏读者及粉丝开发遇到的一些提问和问题的解决方案,持续更新。学习目标:发现问题,解决问题&…

Python自用存档 - 列表tips

目录 1 新建的list 里面的文本内容 记得用引号包起来 2 sort 与 sorted 区别 3 为什么不能直接print括号里加append 4 格式化format的两个写法for i in offer_list: 5 用join函数,把列表转换为字符串 6 利用range建列表,运用在循环节 7 pop()默认…

c语言查询函数query怎么写,JSP JSTL sql:query标签:通过SQL语句查询

标签用于通过 SQL 语句查询符合条件的数据。 语法: 无查询条件的语法格式如下: var"varName"[scope"{page|request|session|application}"] [dataSource"dataSource"] [maxRows"maxRows"] [startRow"start…

全智能外壳

也许你错过了新闻门户 也许你错过了游戏黄金十年(网游/页游/手游) 也许你错过了SNS(人人/豆瓣/开心/微博) 也许你错过了PC软件右下角大战(输入法/浏览器/安全管家/下载/音乐播放/视频播放) 也许你错过了旅游…