ES查询区分大小写
ES查询区分大小写
ES查询在默认的情况下是不区分大小写的,在5.0版本之后将
string
类型拆分成两种新的数据类型,text
用于全文搜索(模糊搜索),keyword
用于关键字搜索(精确搜索)。
注意: 5.0之后 ES
字符串将默认同时映射成text
,keyword
类型,将会自动创建字面的动态映射,这是在你没有修改任何设置的情况下的默认配置,如下:
{
"appname-2021.10.28" : {
"mappings" : {
"properties" : {
"@timestamp" : {
"type" : "date"
},
"@version" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"totalEnabledSize" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"traceId" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
}
}
}

在这种默认的情况下,我们通过字段查询的时候都会有两个字段一个是带keyword
后缀的,一个是不带的。带``keyword`后缀的则是自动生成的。

keyword
后缀的则大小写敏感,不带的则不敏感,但经正常使用发现,它居然跟默认的不太一样,居然不带高亮,一不做二不休咱们直接修改配置,让不带keyword
后缀的,也就是我们使用的默认的字段查询时大小写敏感。因我们每日生成的索引名不同,但有固定格式,所我们通过模板修改索引字段类型即可,操作如下:
设置
创建一个索引模板,关联索引
image-20211101100232121
索引设置保持默认即可
自定义映射字段(这里的映射其实就是索引的
_mapping
)解释: 我这里是将
traceId
字段的类型修改为keyword
类型,其他字段则还为默认配置
image-20211101100433386
{
"properties": {
"traceId": {
"type": "keyword"
}
}
}
别名则默认,无需设置
保存模板
注意:
当你保存模板了,那么保存模板后关联到的索引才会生效新配置,在你保存模板之前的索引则不生效。比如你10.29好创建的模板,那么10.30创建的索引才会引用新配置。
分享一下我修改后的配置,如下:
{
"appname-2021.10.30" : {
"mappings" : {
"properties" : {
"@timestamp" : {
"type" : "date"
},
"@version" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"totalEnabledSize" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"traceId" : {
"type" : "keyword"
}
}
}
}
}
当然也可使用api来更新你的索引模板,因api使用不熟悉,所我使用可视化来操作,在此我提供一下我的PUT请求,供大家参考
PUT _template/chenfan-log
{
"order": 0,
"index_patterns": [
"appname*"
],
"settings": {
"index": {
"lifecycle": {
"name": "chenfan-log"
}
}
},
"mappings": {
"properties": {
"traceId": {
"type": "keyword"
}
}
}
}
完工!
ES查询区分大小写的更多相关文章
- MySQl查询区分大小写的解决办法
通过查询资料发现需要设置collate(校对) . collate规则: *_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的 *_cs: ca ...
- mysql查询区分大小写与自定义排序
mysql查询区分大小写: SELECT id,developer FROM products WHERE developer != '' and developer = binary('LYNN') ...
- ElasticSearch 学习记录之ES查询添加排序字段和使用missing或existing字段查询
ES添加排序 在默认的情况下,ES 是根据文档的得分score来进行文档额排序的.但是自己可以根据自己的针对一些字段进行排序.就像下面的查询脚本一样.下面的这个查询是根据productid这个值进行排 ...
- ES查询之刨根问底
昨天有一个需求,就是想要根据某个网关url做过滤,获取其下面所有的上下文nginx日志:如果直接"query":"https://XXX/YYY/ZZZ"发现有 ...
- 使MySQL查询区分大小写的实现方法
发布:mdxy-dxy 字体:[增加 减小] 类型:转载 我们在MySQL中使用SELECT语句查询时,可不可以使查询区分大小写?今天从网络上找到了方法,现总结如下. 1.一种方法是可以设置表或行 ...
- .NetCore下ES查询驱动 PlainElastic .Net 升级官方驱动 Elasticsearch .Net
1.背景 由于历史原因,笔者所在的公司原有的ES查询驱动采用的是 PlainElastic.Net, 经过询问原来是之前PlainElastic.Net在园子里文档较多,上手比较容易,所以最初作者选用 ...
- Es查询工具使用
Kibana按照索引过滤数据 1.创建索引模式 2.查询索引中的数据 Es查询不返回数据 创建索引的时候指定mapping mappings={ "mappings": { &qu ...
- ES查询语句
记录常用的es 查询 聚合 GET _cat / indices GET / p_ext_develop / _mapping / g GET / p_ext_develop / _analyze { ...
- Es查询结果集默认是10000,更新设置
Es查询结果集默认是10000,结果集大小是int,最大为21亿左右 PUT _all/_settings?preserve_existing=true { "index.max_resul ...
随机推荐
- HTML基本概念及基本标签
HTML基本概念及基本语法 1.HTML的基本概念 1.1 B/S.C/S基本概念 B/S(Browser/Server):指的是浏览器端与服务器端工作模式,优点相对节省本地存储空间,不足是需要占用 ...
- PHP的DBA扩展学习
今天我们讲的 DBA 并不是传统的数据库管理员那个 DBA ,而是一个 PHP 中的巴克利风格数据库的扩展.巴克利风格数据库其实就是我们常说的键值对形式的 K/V 数据库.就像我们平常用得非常多的 m ...
- 深入学习Composer原理(三)
本系列第三篇文章,一起了解下PSR规范中的PSR4和PSR0规范 首先恭喜大家,包括我自己,坚持到了现在.这篇文章之后,Composer的基础原理就清晰明了咯.也就是说,Composer所利用的正是s ...
- PHP的变量赋值
这个标题估计很多人会不屑一顾,变量赋值?excuse me?我们学开发的第一课就会了好不好.但是,就是这样基础的东西,反而会让很多人蒙圈,比如,值和引用的关系.今天,我们就来具体讲讲. 首先,定义变量 ...
- LINUX服务器带宽跑满、负载过高问题排查
1.centos 安装流量监控iftop apt-get install iftop -y 2.查看网卡名称 ifconfig 3.查看端口占用情况 iftop -i 网卡名称 -P 执行 nets ...
- 告别Kafka Stream,让轻量级流处理更加简单
一说到数据孤岛,所有技术人都不陌生.在 IT 发展过程中,企业不可避免地搭建了各种业务系统,这些系统独立运行且所产生的数据彼此独立封闭,使得企业难以实现数据共享和融合,并形成了"数据孤岛&q ...
- 写SQL的套路
定义问题 转化问题 如要解决的问题是:查出每门课程成绩都大于80分学生的姓名,可以转化为:只要学生最小分数的课程大于80分,就是所有课程成绩都大于80分. 查询同名同姓学生名单并统计同名人数--> ...
- javascript 编码规范 - 正确使用parseInt
题目描述 修改 js 代码中 parseInt 的调用方式,使之通过全部测试用例 示例1 输入 '12' 输出 12 示例2 输入 复制 '12px' 输出 复制 12 示例3 输入 '0x12' 输 ...
- [转载]CentOS 7 创建本地YUM源
本文中的"本地YUM源"包括三种类型:一是直接使用CentOS光盘作为本地yum源,优点是简单便捷,缺点是光盘软件包可能不完整(centos 7 Everything 总共才6.5 ...
- Loj#2880-「JOISC 2014 Day3」稻草人【CDQ分治,单调栈,二分】
正题 题目链接:https://loj.ac/problem/2880 题目大意 给出平面上的\(n\)个点,然后求有多少个矩形满足 左下角和右上角各有一个点 矩形之间没有其他点 \(1\leq n\ ...