Elasticsearch语法之Term query不区分大小写

文章讲述了Elasticsearch中`case_insensitive`参数的作用,它控制关键词搜索时是否区分大小写。默认情况下,大小写敏感。在7.10.0及以上版本中,可以设置该参数为true以实现不区分大小写的搜索。如果版本过低,`term`查询将不支持`case_insensitive`。
摘要由CSDN通过智能技术生成

设置关键词是否区分大小写

说明:case_insensitive是term的可选参数,默认为false,表示关键词区分大小写,设置为true表示关键词不区分大小写。该参数在7.10.0开始有效

需求:分别使用关键词"iphone"和"IPHONE"作为手机品牌的搜索条件,精准搜索文档。

第一步:实现需求。发现"iphone"为条件可以查询出来,而"IPHONE"为条件查询不出来。说明该参数默认区分大小写。

GET /stu_db/_search
{
  "query": {
    "term": {
      "mobilePhoneType": {
        "value": "IPHONE"
      }
    }
  }
}

第二步:设置为true,即关键词不区分大小写。使用关键词"IPHONE"作为手机品牌的搜索条件,精准搜索文档。可以搜索出文档,证明该参数分析正确。

GET /stu_db/_search
{
  "query": {

Term查询是Elasticsearch中一种基本的查询方式,用于查询一个字段中包含指定关键词的文档,类似于MySQL中的等值查询。使用Term查询时,可以对字段进行完全匹配,且区分大小写。其基本语法如下所示: ``` GET /{index}/_search { "query": { "term": { "{field}": "{value}" } } } ``` 其中,`{index}`表示查询的索引名称,`{field}`表示需要查询的字段,`{value}`表示需要匹配的值。Term查询只能用于匹配该属性的单个值,若想匹配多个值,可以使用Terms查询。Terms查询的基本语法如下所示: ``` GET /{index}/_search { "query": { "terms": { "{field}": [ "{value1}", "{value2}", "{value3}" ] } } } ``` 在Java代码中,可以使用`termsQuery`方法来构建Terms查询,如下所示: ```java TermsQueryBuilder termsQueryBuilder = QueryBuilders.termsQuery("field", "value1", "value2", "value3"); searchSourceBuilder.query(termsQueryBuilder); ``` Term查询还可以配置其他参数,如超时时间等。在Java代码中,可以通过设置`timeout`来指定查询超时时间,如下所示: ```java searchSourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS)); ``` 以上是关于Elasticsearch Term查询的基本用法和示例代码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Elaticsearch查询 -Term查询](https://blog.csdn.net/weixin_43796428/article/details/131283196)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值