首页 > 其他分享 >ES多条件权重查询

ES多条件权重查询

时间:2023-08-11 10:22:15浏览次数:40  
标签:匹配 权重 should minimum match 子句 查询 ES

在Elasticsearch中,minimum_should_match是一个查询参数,通常用于控制在使用bool查询中的should子句(也称为OR查询)时,必须匹配的最低子句数量。这可以用来控制查询的严格程度,确保只有在满足特定条件的子句数量达到一定阈值时,文档才会被匹配。

minimum_should_match参数可以以多种方式设置:

  1. 百分比: 您可以使用百分比值来设置应该匹配的最小子句数量。例如,minimum_should_match: "75%" 表示至少需要匹配should子句的总数的75%。

  2. 固定数量: 您可以直接指定应该匹配的最小子句数量。例如,minimum_should_match: 2 表示至少需要匹配两个should子句。

  3. Combination: 您还可以将百分比和固定数量结合使用,例如,minimum_should_match: "2<-25%" 表示至少需要匹配两个should子句或总数的25%,取二者中的较大值。

以下是一个示例bool查询的使用情况,其中使用了minimum_should_match参数:

{
  "query": {
    "bool": {
      "should": [
        { "term": { "field1": "value1" } },
        { "term": { "field2": "value2" } },
        { "term": { "field3": "value3" } }
      ],
      "minimum_should_match": "2<-25%"
    }
  }
}

在这个示例中,查询使用了一个bool查询,并包含了三个should子句。minimum_should_match参数设置为2<-25%,这意味着至少需要匹配两个子句或总数的25%。

请注意,minimum_should_match只对bool查询中的should子句生效。这对于希望在OR关系查询中设置最低匹配要求的情况非常有用。

 

标签:匹配,权重,should,minimum,match,子句,查询,ES
From: https://www.cnblogs.com/yangzailu/p/17622358.html

相关文章

  • typeScript学习-TS类型-其他特殊类型-any、unknown
    typeScript学习其他特殊类型:any,unknown,never,void,元组(tuple),可变元组 any比较经典的应用场景:1、自定义守卫2、需要进行asany类型断言的场景unknown一般用作函数参数:用来接收任意类型的变量实参,但在函数内部只用于再次传递或输出结果,不获......
  • typeScript学习-TS类型-其他特殊类型-never
    typeScript学习其他特殊类型:any,unknown,never,void,元组(tuple),可变元组never://dataFlowAnalysisWithNever方法穷尽了DataFlow的所有可能类型。//使用never避免出现未来扩展新的类没有对应类型的实现,目的就是写出类型绝对安全的代码。typeDataFlow=stri......
  • typeScript学习-TS类型-合成类型
    typeScript学习合成类型:联合类型,交叉类型联合类型:letstr:srting|number="abc"str=3交叉类型:typeObj1={username:string}typeObj2={age:number}letobj:Obj1={username:'zhangsan'}letobj2:Obj2={age:23}letobj3:Obj1&Obj2={username:&#......
  • typeScript学习-TS类型-字面量数据类型
    typeScript学习字面量数据类型://typeA=number|string//leta:A="abc"//typenum=number//letn:num=3typenum=1|2|3letn:num=2//错误情况//letn:num=4typeincreaseFlag=0|1functionisStartUp(increase:increaseFlag){if(in......
  • typeScript学习-TS类型-枚举
    typeScript学习枚举:enum枚举的定义:用来存放一组固定的常量的序列。枚举带来的好处:1、有默认值和可以自增值,节省编码时间2、语义更清晰,可读性增强,因为枚举是一种值类型的数据类型,方法参数可以明确参数类型为枚举类型enumWeekEnd{Monday="myMonday",//......
  • AES加密 flutter java后台用的 AES/CBC/PKCS5Padding
     可测试AES是否正确的网址https://www.toolhelper.cn/SymmetricEncryption/AES java后台代码如下publicstaticStringencrypt(StringclearText,Stringkey,Stringiv){byte[]result=null;try{byte[]key_bytes=toByte(MD5Util......
  • typeScript学习-TS类型-接口
    typeScript学习接口:定义:另一种定义对象类型的类型接口应用场景:1、一些第三方包或者框架底层源码中有大量的接口类型2、提供方法的对象类型的参数时使用3、为多个同类别的类提供统一的方法和属性声明如何定义接口:继承接口:新的接口只是在原来接口集成之上增加......
  • Mac 安装 postgres
    安装arch-arm64brewinstallpostgresql初始化数据库initdb--locale=C-EUTF-8/opt/homebrew/var/postgres启动服务brewservicesstartpostgresql``###客户端登录psqlpostgres###创建用户CREATEROLEpostgresWITHLOGINPASSWORD'postgres';ALTERR......
  • Yuno loves sqrt technology III
    YunolovessqrttechnologyIII题意区间询问众数,强制在线。题解经典分块题,记一下。对于序列分块,记\(f_{i,j}\)代表第\(i\)个块到第\(j\)个块的众数出现次数。考虑询问的时候怎么做,我们只需要考虑散块。对于散块的元素\(a_i\)查找其在询问区间\([l,r]\)的个数,与......
  • 基于FFT傅里叶变换的16QAM基带信号频偏估计和补偿算法FPGA实现,包含testbench和matlab
    1.算法仿真效果本系统进行了Vivado2019.2平台的开发,并使用matlab2022a对结果进行星座图的显示:   将FPGA的频偏基带QPSK信号和频偏补偿后的QPSK基带信号使用matlab显示星座图,结果如下:   2.算法涉及理论知识概要       FFT傅里叶变换是一种高效的频谱分析......