首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Elasticsearch搜索字段不区分大小写的精确值

Elasticsearch是一个开源的分布式搜索和分析引擎,它提供了强大的全文搜索和实时分析能力。在Elasticsearch中,默认情况下,搜索字段是不区分大小写的,这意味着搜索时不区分字母的大小写。但是,如果需要在搜索中精确匹配大小写,可以使用特定的查询方式。

在Elasticsearch中,可以使用以下两种方式来实现搜索字段的精确匹配:

  1. Term查询:Term查询是一种精确匹配查询,它会完全按照搜索条件进行匹配,不会进行分词和大小写转换。可以通过设置字段的mapping来指定该字段需要进行精确匹配。例如,对于一个名为"field_name"的字段,可以使用以下查询方式:
代码语言:txt
复制
GET /index_name/_search
{
  "query": {
    "term": {
      "field_name.keyword": "search_value"
    }
  }
}

在上述查询中,".keyword"后缀表示该字段需要进行精确匹配。

  1. Keyword字段类型:在创建索引时,可以将需要进行精确匹配的字段设置为"keyword"类型。该类型会将字段的值作为一个整体进行匹配,不会进行分词和大小写转换。例如,对于一个名为"field_name"的字段,可以在创建索引时指定其类型为"keyword":
代码语言:txt
复制
PUT /index_name
{
  "mappings": {
    "properties": {
      "field_name": {
        "type": "keyword"
      }
    }
  }
}

使用上述方式创建的字段,在搜索时可以直接进行精确匹配。

Elasticsearch的优势在于其分布式架构和高性能的搜索能力,适用于各种场景,包括日志分析、全文搜索、实时监控等。以下是一些适用场景和腾讯云相关产品的介绍:

  1. 适用场景:
  • 日志分析:Elasticsearch可以快速索引和搜索大量的日志数据,用于实时监控和分析。
  • 全文搜索:Elasticsearch提供了强大的全文搜索功能,适用于各种需要快速搜索和过滤大量文本数据的场景。
  • 实时监控:Elasticsearch可以实时索引和搜索数据,用于实时监控和报警。
  • 电商商品搜索:Elasticsearch可以用于电商网站的商品搜索,支持快速的关键字搜索和过滤。
  1. 腾讯云相关产品:
  • 云搜索(Cloud Search):腾讯云提供的云搜索服务,基于Elasticsearch构建,提供了稳定可靠的搜索能力,支持全文搜索、实时监控等场景。详细信息请参考:云搜索产品介绍
  • 弹性MapReduce(EMR):腾讯云的弹性MapReduce服务,可以与Elasticsearch集成,实现大规模数据处理和分析。详细信息请参考:弹性MapReduce产品介绍

以上是关于Elasticsearch搜索字段不区分大小写的精确值的完善且全面的答案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Elasticsearch 如何实现查询聚合区分大小写

1、实战问题 最近社区里有多个关于区分大小写问题: 问题1:ES查询和聚合怎么设置区分大小写呢? 问题2:ES7.6 如何实现模糊查询区分大小写?...是的,默认分词器是Standard 标准分词器,是区分大小写。...keyword 类型属于精准匹配,也就是说:单纯keyword 类型没法实现大小写区分。 进一步小结: 我们上面的组合multi-field 方式,并没有解决检索和聚合区分大小写问题?...刚才提及进一步处理,反映到我们解决方案上:就是可以做小写 lowercase 转换。 由于写入阶段和检索阶段:normalizer 都生效,所以就实现了我们想要区分大小写结果。...欢迎大家留言说一下类似问题其他不同实现方案。 和你一起,死磕 Elasticsearch

7.4K20

MySQL存储字段区分大小写,你知道吗?

00 简单回顾 之前写过一篇关于mysql 对表大小写敏感问题(你有遇到过MySQL因大小写敏感导致问题吗),其实在mysql中字段存储内容是区分大小写,本篇进行简单总结。...想回顾一下: MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样: 1、数据库名与表名是严格区分大小写; 2、表别名是严格区分大小写; 3、列名与列别名在所有的情况下均是忽略大小写...02 解决方案 因为默认情况下字段内容是区分大小写,也即大小写不敏感。所以解决方案就是要新增字段内容校验规则。 使用mysql BINARY 关键字使搜索区分大小写。...这两种查看表详情,本质上都是 在字段上 加上了 COLLATE utf8_bin。 03 总结 字段大小写由mysql校对规则来控制。提到校对规则,就不得不说字符集。...2)utf8_general_ci:utf8_genera_ci区分大小写,ci为case insensitive缩写,即大小写不敏感。

2.4K30

SQL Server区分大小写问题

SQL Server区分大小写问题   默认情况下,SQL Server区分大小写,如果数据表TESTTNAME列中有数据“abcd”和“Abcd”, 如果使用查询语句:select * from...可以通过设置排序规使其区分大小写,可以分别在创建数据库、修改数据库、创建表字符型列(char\varchar\nchar \nvarchar等)时指定排序规则来实现。...如 create database test  COLLATE  Chinese_PRC_CS_AS   --这样创建数据库中区分大小写 alter database test  COLLATE  Chinese_PRC_CS_AS...   --修改后数据库中区分大小写 Create table test(tid int primary key,tname varchar(20) COLLATE  Chinese_PRC_CS_AS...) --这样创建tname列在使用SELECT 语句时就可以区分大小写了。

3.2K20

PostgreSQL 库,表,字段大小写问题

需要测试内容如下 1 数据库大小写 2 表名大小写 3 字段大小写 4 字段值得大小写 一些相关大小写函数以及数据转换函数 let's go 1 数据库名大小写 首先会建立三个数据库名字为...(你可以试试,结果是一样,postgresql 在一个数据库中只能运行小写表名存在) 当然如果你非要存储不同大小写表名,PostgreSQL 也不是不可以,那就是需要加“” 双引号 最后我们来尝试一下字段名和字段问题...我们还是在test 数据库里面建立表,并且会在这个表里面建立三个字段 分表是 name Name NAME 并且在每个字段里面的,也是和字段撰写方式一样。...既然如此,我们只能继续在字段上面找问题了 我们在一个表中name 字段,插入不同, TIM, tim, Tim 三个,我们看看结果如何,并且在查询中是不是会有什么问题?...其实So Easy 我们来将问题化整为零 1 输入数据规范,里面大小写都有,但查询时候,给出条件是小写,请问是否可以将大写,大小写都有的记录查出来。

3.8K20

SQL语句大小写是否区分问题,批量修改整个数据库所有表所有字段大小写

--区分大小写 ALTER TABLE My_table ALTER Column colname nvarchar(100) collate Chinese_PRC_CS_AS 从上面的例子我们可以看到第一句区分...我们可以再这样,看下面的例子: 例: --区分大小写 ALTER DATABASE databasename collate Chinese_PRC_CI_AS --区分大小写...ALTER DATABASE databasename collate Chinese_PRC_CS_AS 批量修改数据库中所有表内字段大小写敏感 如: DECLARE @collate nvarchar...排序规则后半部份(即后缀)含义: _BIN 二进制排序_CI(CS) 是否区分大小写:CI区分,CS区分 _AI(AS) 是否区分重音:AI区分,AS区分    _KI(KS) 是否区分假名类型:...KI区分,KS区分  _WI(WS) 是否区分宽度:WI区分,WS区分 三、整体介绍 在安装SQL时,我们可以选择区分大小写或安装完以后重建mastar,再选择区分大小   下面是rebuildm.exe

2.4K70

一起学Elasticsearch系列-Query DSL

match:匹配包含某个term子句 match 查询是 Elasticsearch一种全文查询方式,它包括标准分析和词项搜索。尽管它可以应用于精确字段,但其主要用途是进行全文搜索。...如果你只是希望所有单词都存在,而不关心它们顺序或精确出现方式,那么你应该使用 match 查询。 Term Query 精确查询用于查找包含指定精确文档,而不是执行全文搜索。...term:匹配和搜索词项完全相等结果 term 查询主要用于查询某个字段完全匹配给定文档。这对精确匹配非常有效,例如数字、布尔或者字符串。...但是,match_phrase并不能100%保证精确匹配,因为它会处理和考虑文本各种变体(比如,大小写、单复数形式等)。...terms:匹配和搜索词项列表中任意项匹配结果 terms 查询用于匹配指定字段中包含一个或多个文档。这是一个精确匹配查询,不会像全文查询那样对查询字符串进行分析。

37720

Elasticsearch: 运用 Field collapsing 来减少基于单个字段搜索结果

【腾讯云 Elasticsearch Service】高可用,可伸缩,云端全托管。集成X-Pack高级特性,适用日志分析/企业搜索/BI分析等场景 ---- 允许根据字段折叠搜索结果。...JSON数据导入到Elasticsearch中: 3.png 我们把这个index名字叫做best_games: 4.png 这样我们数据就准备好了。..."year" : { "type" : "long" } } } }} Field collapsing 下面我们用 collapsing 方法来对我们数据进行搜索...它意思就是每个 publisher 只能有一个搜索结果,尽管每一 publisher 有很多款游戏 比如,我们可以找到 publisher 为 SquareSoft 并且 name 里含有 Final...注意:能够被 collapse 所使用字段必须是数字或 keyword 字段,并且含有 doc_values。

1.9K31

Elasticsearch中将Doc根据A字段排序获得第一个DocB字段方法

注:本文基于Elasticsearch 6.1.2编写 最近遇到这样一个需求,要通过Elasticsearch将Doc根据A字段降序,然后获得B字段,最终根据B字段再去做Pipeline Aggregation...先尝试了Max Aggregation,但是Max Aggregation只能获得A字段最大。...下面举例说明 比如现在我们有一堆股票价格数据,我们现在需要获得股票每天收盘价比前一天差值(Delta)。...下面先倒入一段股票数据,date字段代表时间戳,price字段代表当时价格: POST /_bulk {"index":{"_index":"stock-price","_type":"data"}...05T10:00:00","price":10} 先分解一下看这个查询如何实现: 把股票数据按照“天”分bucket,这个会用到Date Histogram Aggregation 获得每个bucket里最后一次价格数据

1K20

学好Elasticsearch系列-Query DSL

源数据:_source source字段包含索引时原始JSON文档内容,字段本身建立索引(因此无法进行搜索),但是会被存储,所以当执行获取请求是可以返回source字段。...Excluding:结果中不要返回哪些field,返回field代表不能通过该字段进行检索,因为元数据不存在代表索引不存在,Excluding优先级比Including更高。...q=2021-06-01 精准查询-Term query 精确查询用于查找包含指定精确文档,而不是执行全文搜索。...term 查询:这种查询对待查询字符串为一个完整单位,不进行分词处理,并且大小写敏感。它可以在文本、数值或布尔类型字段上使用,通常用于精确匹配某个字段的确切。...terms:匹配和搜索词项列表中任意项匹配结果 terms 查询用于匹配指定字段中包含一个或多个文档。这是一个精确匹配查询,不会像全文查询那样对查询字符串进行分析。

20810

Elasticsearch 查询革新:探索 Wildcard 类型高效模糊匹配策略

1、背景 在生产使用中,Elasticsearch 除了精确匹配要求,也会有模糊查询场景。...,官方在推出该字段时候发布了相关说明: 新 wildcard 字段使用以下两种数据结构以这种方式自动加速通配符和正则表达式搜索: 字符串中所有3个字符序列 n-gram 索引。...完整原始文档 “二进制 doc value” 存储。...综上所述,在模糊搜索字段区分度很低情况下 如:模糊查询单个数字,此时优化效率rt大概是之前1/3左右,区分度高场景rt大概是之前1/15左右,有明显效果。...4.相比 ES 在精确查询场景优秀性能表现(即 term keyword 高效,平稳在毫秒级返回),wildcard 字段在模糊查询场景下使用还是需要研发人员根据实际场景测试选择。

1.6K20

学好Elasticsearch系列-Query DSL

源数据:_source source字段包含索引时原始JSON文档内容,字段本身建立索引(因此无法进行搜索),但是会被存储,所以当执行获取请求是可以返回source字段。...Excluding:结果中不要返回哪些field,返回field代表不能通过该字段进行检索,因为元数据不存在代表索引不存在,Excluding优先级比Including更高。...q=2021-06-01 精准查询-Term query 精确查询用于查找包含指定精确文档,而不是执行全文搜索。...term 查询:这种查询对待查询字符串为一个完整单位,不进行分词处理,并且大小写敏感。它可以在文本、数值或布尔类型字段上使用,通常用于精确匹配某个字段的确切。...terms:匹配和搜索词项列表中任意项匹配结果 terms 查询用于匹配指定字段中包含一个或多个文档。这是一个精确匹配查询,不会像全文查询那样对查询字符串进行分析。

21740

es初探

代价较小批量操作 1.9. 空搜索 1.10. 多索引,多文档搜索 1.11. 分页查询【超过1000条分页数据推荐】 1.12. 轻量搜索推荐使用】 1.13. 倒排索引 1.14....:在所有的索引中搜索 user 和 tweet 类型 分页查询【超过1000条分页数据推荐】 1、https://elasticsearch.cn/book/elasticsearch_definitive_guide...轻量搜索推荐使用】 0、https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/search-lite.html#query-string-query...2、创建规范: ​ 1、单词区分大小写 ​ 2、区分单复数,将单数和复数单词一律提取出来单数即可 ​ 3、意思相近词只提取一个 ​ 分析与分析器 1、https://...1、查找全文域时候使用,比如使用轻量搜索_all ​ 2、精确查找不使用分词器,比如Date类型数据,默认将其看成单独一个词条 3、测试分词器 GET /_analyze { "analyzer

1K10

爬虫抓取博客园前10页标题带有Python关键字(区分大小写文章

写一个简易爬虫程序,抓取博客园网站首页前10页中所有文章标题带有Python关键字(区分大小写文章,并把文章链接和文章标题存入硬盘,要求如下: 使用正则表达式匹配出需要数据,然后对数据进行解析...程序中很明显有多个任务,这多个任务必须是异步调用 任务返回要及时处理,不能等所有任务都执行完再统一处理 提示信息:可以使用生产者消费者模型来处理 尽可能提升程序执行效率 爬虫储备知识: requests...模块是一个非常强大爬虫模块,它基本使用非常简单,但是它是所有爬虫程序根源,我们只需要使用requests模块里面级简单功能就能完成,用法可以通过查询得知。...""" 写一个简易爬虫程序,抓取博客园网站首页前10页中所有文章标题带有 Python关键字(区分大小写文章,并把文章链接和文章标题存入 硬盘,要求如下: 1 使用正则表达式匹配出需要数据,然后对数据进行解析...2 程序中很明显有多个任务,这多个任务必须是异步调用 3 任务返回要及时处理,不能等所有任务都执行完再统一处理 4 提示信息:可以使用生产者消费者模型来处理 5 尽可能提升程序执行效率 """

1.2K20

Kibana查询语言(KQL)AND、OR匹配,模糊匹配

,是针对message字段进行搜索,在搜索时候不会区分大小写,也就是说,Hello world YES也是会被搜索出来; 需要注意,上面的"hello world yes"使用了引号,这样的话,这3...world 上面这个表达式,针对message字段进行搜索搜索message中包含hello,或者包含world,或者两者都包含情况; 需要注意是,区分大小写,也不会保证顺序,也就是说,下面几种情况都会被匹配...jane,或者addr字段包含beijing记录,或者两者都匹配; 需要注意是,or表示 “或” ,区分大小写; 实例5 name:jane and addr:beijing 上面这个条件,会查询...实例8 response:(200 or 404) 上面这个表达式,会查询response包含200,或者response包含404,或者包含200和404记录(不保证顺序、区分大小写); 同时可以使用...五.总结 KQL还是比较简单地,主要记住KQL匹配时是区分大小写,可以使用括号改变匹配优先级; 另外一个要点就是,匹配是 包含,某个字段“包含”某个词,而不是某个字段为某个词。

7.9K21

kibana 模糊匹配_匿名语音匹配app

,是针对message字段进行搜索,在搜索时候不会区分大小写,也就是说,Hello world YES也是会被搜索出来; 需要注意,上面的"hello world yes"使用了引号,这样的话,这3...world 上面这个表达式,针对message字段进行搜索搜索message中包含hello,或者包含world,或者两者都包含情况; 需要注意是,区分大小写,也不会保证顺序,也就是说,下面几种情况都会被匹配...jane,或者addr字段包含beijing记录,或者两者都匹配; 需要注意是,or表示 “或” ,区分大小写; 实例5 name:jane and addr:beijing 上面这个条件,会查询...实例8 response:(200 or 404) 上面这个表达式,会查询response包含200,或者response包含404,或者包含200和404记录(不保证顺序、区分大小写); 同时可以使用...五.总结 KQL还是比较简单地,主要记住KQL匹配时是区分大小写,可以使用括号改变匹配优先级; 另外一个要点就是,匹配是 包含,某个字段“包含”某个词,而不是某个字段为某个词。

2.1K20

Elasticsearch入门与实战

文档 一个文档同时包含字段和对应,也就是同时包含key:value,ES是面向文档,意味着索引和搜索数据最小单位就是文档。...如果字段需要进行过滤(比如:查找已发布博客中status属性为published文章)、排序、聚合。keyword类型字段只能通过精确搜索到。...【特点】不进行分词(分词器在keyword上没有作用),直接索引,支持模糊、精确查询并且支持聚合 如果指定类型,ES字符串将默认被同时映射成text和keyword类型,(一个字符串字段可以映射为text...4.2.3> Whitespace Analyzer 【分词方式】按空格分词,英文区分大小写,中文不再分词 ---- 4.3> 安装 下载地址 https://github.com/medcl/elasticsearch-analysis-ik...) ES基于REST指令 【注意】如果指定TYPE_NAME,则默认为_doc。

1.1K31

Python Elasticsearch DSL 查询、过滤、聚合操作

Elasticsearch 基本概念 Index:Elasticsearch用来存储数据逻辑区域,它类似于关系型数据库中database 概念。...: 9200}]) 复制代码 先看一下搜索,q 是指搜索内容,空格对 q 查询结果没有影响,size 指定个数,from_ 指定起始位置,filter_path 可以指定需要显示数据,如本例中显示在最后结果中只有...") s = s.query("match", dip="192.168.1.2") s = s.excute() 复制代码 多字段查询: from elasticsearch_dsl.query import...,fields 是一个列表,query 为所要查询。...关于 term 和 match 区别,term 是精确匹配,match 会模糊化,会进行分词,返回匹配度分数,(term 如果查询小写字母字符串,有大写会返回空即没有命中,match 则是区分大小写都可以进行查询

3.4K10

Elasticsearch Search APIs

搜索 在单个索引所有类型中搜索 例.在customer索引中查找包含firstname字段,且字段包含单词brad文档 GET /customer/_search?...q=firstname:Brad 在单个索引指定类型中搜索 例.在customer索引external,sometype类型中查找包含firstname字段,且字段包含单词brad文档 GET...q=firstname:Brad 在多个指定索引中搜索 例.在customer,account索引中查找包含firstname字段,且字段包含单词brad文档 GET /account,customer...URI搜索 常用参数说明: q: 要查询字段 例. 在customer索引external类型中查找字段为16623文档 GET /customer/external/_search?...说明:默认情况下,查询结果区分大小,但是字段名是区分大小写

1.5K40
领券