ES 2.x查询

本文总结了ES 2.x版本的查询特性,包括结构化查询的term、bool和range查询,以及全文搜索的match查询和bool查询。还讨论了如何通过boost调整查询权重和控制分析器的使用。
摘要由CSDN通过智能技术生成

最近在搞ES版本升级,从2.x升级到7.x。总结下2.x的查询一遍后续重构代码。

结构化查询

  • 精确查询 term: 查询只对倒排索引的词项精确匹配。切记term是包含而不是相等的意思
  • 精确查询多个 terms:后跟数组参数。可以看作是多个term组合查询。
  • 组合过滤查询 bool:bool可嵌套,构造复杂的filter过滤器。过滤器做二元判断,文档是否应该出现在结果中。
{
   "bool" : {
      "must" :     [],  ==and
      "should" :   [], == or
      "must_not" : [], == not
   }
}
  • 范围查询 range:可作用于数字,日期,字符串。
gt: > 大于(greater than)
lt: < 小于(less than)
gte: >= 大于或等于(greater than or equal to)
lte: <= 小于或等于(less than or equal to)
  • 处理 Null:null, [] (空数组)和 [null] 所有这些都是等价的,它们无法存于倒排索引中。
1.存在查询exists 类似 is not null
2.缺失查询missing 类似 is null
</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值