elasticsearch 高级查询

高级查询

子条件查询  (特定字段查询所指特定值)

复合条件查询  (以一定的逻辑组合子条件查询)

 

一、子条件查询

子条件查询分为 query context、filter context

1.query context

在查下过程中,出来判断文档是否满足查询条件外,ES还会计算一个_score来表示匹配的程度,指在判断目标文档和查询条件匹配的有多好

① 全文本查询(针对文本类型数据)

模糊匹配查询

短语匹配(当我们使用match时,他会匹配title中含有java或从入门的数据;如果使用match_phrase则会匹配"java从入门"这个字段)

多字段匹配模糊匹配查询  查询author或者title中含有张三的数据

语法查询 使用关键字 query_string   查询含有java 和 精通 或 mysql的数据

也可以指定那些字段中含有这些关键字

 

② 字段级别查询(针对结构化数据,如数字、日期等)

查询作者是张三的数据

 

范围查询 查询字数大于等于2000并且小于等于4000的数据,如果将gte,lte换成 gt和lt就不包含等于

 

查询某个时间段内的数据 当前时间可以使用now

 

2.filter context

在查询过程中,只判断该文档是否满足条件,只有yes或者no

elasticsearch会对filter的数据做缓存,但是要结合bool使用,性能会比query好点

 

二、复核条件查询 

固定分数查询、布尔查询等等

固定分数查询,默认1 固定分数会做缓存

指定分数为2  

关键词 bool  should 两个条件 author和title是或的关系

关键词 bool  must 两个条件 author和title是与的关系

关键词 bool  must  filter过滤

关键词 bool  must_not 查询作者不是张三的数据

 

转载于:https://www.cnblogs.com/gyli20170901/p/10174309.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值