首页 > 其他分享 >elasticsearch 查询:其他查询prefix&fuzzy&wildcard&range®exp

elasticsearch 查询:其他查询prefix&fuzzy&wildcard&range®exp

时间:2024-01-30 09:02:53浏览次数:24  
标签:prefix 查询 range query test fuzzy

1. prefix查询

前缀查询,可以通过一个关键字去指定一个field的前缀,从而查到指定的文档。

#测试--prefix查询
POST /king_test_person/_search
{
  "query": {
    "prefix": {
      "name": {
        "value": "张"
      }
    }
  }
}

 

2. fuzzy查询

模糊查询,输入字符的大概,ES就能根据输入的内容大概去匹配结果。
#测试--fuzzy查询
POST /king_test_person/_search
{
  "query": {
    "fuzzy": {
      "company": {
        "value": "盒马先生",
        "prefix_length": 2       #指定前几个字符不允许出现错误
      }
    }
  }
}

  

3. wildcard查询

通配查询,和mysql中的like类似,可以在查询时,在字符串中指定通配符*和占位符?。
#测试--wildcard查询
POST /king_test_person/_search
{
  "query": {
    "wildcard": {
      "company": {
        "value": "中国*"     #可以使用*和?指定通配符和占位符
      }
    }
  }
}

 

4. range查询

范围查询,对某一个field进行大于或者小于的范围指定。
gt:>
lt:<
gte: >=
lte:<=
#测试-range查询
POST /king_test_person/_search
{
  "query": {
    "range": {
      "age": {
        "gte": 5,
        "lte": 20
      }
    }
  }
}

#测试-range查询
POST /king_test_person/_search
{
  "query": {
    "range": {
      "birthday": {
        "gte": "1991-01-01",
        "lte": "1993-01-01"
      }
    }
  }
}

 

5. regexp查询

正则查询,通过编写的正则表达式去匹配内容。 prefix、fuzzy、wildcard、regexp 查询效率相对较低,要求效率比较高时,避免使用
#测试--regexp查询
POST /king_test_person/_search
{
  "query": {
    "regexp": {
      "phone": "135[0-9]{8}"    #正则
    }
  }
}

  

标签:prefix,查询,range,query,test,fuzzy
From: https://www.cnblogs.com/wq-blogs/p/17995717

相关文章

  • elasticsearch 深分页查询:scroll
    ES对from+size是有限制的,from+size不能超过10000。原理:from+size在ES中的查询方式:将指定关键字分词将词汇去分词库中检索,得到多个文档id取各分片中拉去指定数据(耗时较长)根据scroe排序(耗时较长)根据from舍弃一部分数据返回查询结果scroll在ES中的查询方式:将指定关键字分......
  • java用多线程批次查询大量数据(Callable返回数据)方式
    我看到有的数据库是一万条数据和八万条数据还有十几万条,几百万的数据,然后我就想拿这些数据测试一下,发现如果用java和数据库查询就连一万多条的数据查询出来就要10s左右,感觉太慢了。然后网上都说各种加索引,加索引貌似是有查询条件时在某个字段加索引比较快一些,但是毕竟是人家的库不......
  • 查询表、视图字符串字段的长度
    SELECTa.colorder字段序号,a.name字段名,b.name类型,CASEWHENCOLUMNPROPERTY(a.id,a.name,'PRECISION')=-1THEN',长度无限制'ELSE',长度限制'+CAST(COLUMNPROPERTY(a.id,......
  • oracle表空间扩容与查询剩余表空间
    表空间扩容su-oraclesqlplus/assysdbaaltertablespaceTESTadddatafile'+DATA/RACDB/DATAFILE/test001.dbf'size32760M;查看ASM共享磁盘使用空间SQL>coltotal_sizefora20;SQL>colfree_sizefora20;SQL>selectname,round(total_mb/1024)||......
  • GaussDB(for MySQL)剪枝功能,让查询性能提升70倍!
    作者,祝青平,华为云数据库内核高级工程师。擅长数据库优化器内核研发,9年数据库内核研发经验,参与多个TP以及AP数据库的研发工作。近日,华为云数据库社区下面有这样一条用户提问留言:请问,如何通过MySQL提升DISTINCT,尤其是多表连接下DISTINCT的查询效率?在回答这个问题之前,我们先了解一......
  • GaussDB(for MySQL)剪枝功能,让查询性能提升70倍!
    作者,祝青平,华为云数据库内核高级工程师。擅长数据库优化器内核研发,9年数据库内核研发经验,参与多个TP以及AP数据库的研发工作。近日,华为云数据库社区下面有这样一条用户提问留言:请问,如何通过MySQL提升DISTINCT,尤其是多表连接下DISTINCT的查询效率?在回答这个问题之前,我们先了解一下DI......
  • Linux如何查询是哪些进程占用了端口
    Addressalreadyinuse这个提示,想必大家遇到过,怎么能快速找到问题并解决呢?下面有几种姿势可以了解一下.在对网络连接或特定于应用程序的问题进行故障排除时,首先要检查的事情之一应该是系统上实际使用了哪些端口,以及哪个应用程序正在侦听特定的端口。本文介绍了如何使用netstat......
  • tornado 查询字符串
    这段代码是一个简单的Tornadoweb应用程序,以下是代码的详细解释:导入所需的模块:importtornado.ioloopimporttornado.web这里导入了Tornado框架中的两个主要模块:ioloop和web。ioloop是用于处理I/O循环的,而web提供了构建web应用程序所需的功能。2.定义主处理器类:class......
  • C# .NET 中 LINQ to Entities查询中使用时转换为数据库函数的CLR方法(EF.Functions)
    EF.Functions映射由于并非所有数据库函数都有等效的C#函数,因此EFCore提供程序提供了特殊的C#方法来调用某些数据库函数。这些方法通过EF.Functions定义为扩展方法来用于LINQ查询中。这些方法是特定于提供程序的,因为它们与特定数据库函数密切相关。因此,适用于某个......
  • [ARC170C] Prefix Mex Sequence
    给定\(n,m,S_1\simS_n\),当\(S_i=0\)时\(A_i\neq\mathrm{mex}(A_1\simA_{i-1})\),反之\(A_i=\mathrm{mex}(A_1\simA_{i-1})\),求值域为\([0,m]\)的\(A\)的数量\(\bmod\998244353\)。\(1\len\le5000,0\lem\le10^9\)。看到题目就会想到......