Elasticsearch 6.5.3 复合查询实验记录

本文详细记录了Elasticsearch 6.5.3中复合查询的使用,包括constant_score query、bool query、dis_max query、function_score query和boosting query。这些查询方式能灵活地组合简单查询,实现复杂逻辑,如通过must和should实现AND和OR操作,利用filter进行无评分过滤,dis_max query用于获取最佳匹配,而function_score query和boosting query则提供了自定义评分和查询权重调整的功能。
摘要由CSDN通过智能技术生成

复合查询

把一些简单查询组合在一起实现更复杂的查询需求,除此之外符合查询还可以控制另外一个查询的行为。

constant_score query

可以包装一个其他类型的查询,并返回匹配过滤器中的查询条件且有相同评分的文档。

bool query

可以把任意多个简单的查询组合在一起,使用must、should、must_not、filter来表示简单查询之间的逻辑,每个选项都可以出现0到多次。

must相当于AND;should相当于OR;filter不评分,只起到过滤功能。

dis_max query

与bool查询有一定联系也有一定区别,dis_max query支持多并发查询,可返回与任意查询条件子句匹配的任何文档类型。只使用最佳匹配查询条件的分数。

function_score query

可以修改查询的文档得分,比如通过评分函数计算文档得分代价较高,可以改用过滤器加自定义评分函数的方式来取代传统的评分方式。使用时,用户需要定义一个查询和一至多个评分函数,评分函数会对查询到的每个文档分别计算评分。

boosting query

两个查询的评分进行调整的场景。

indices query

多个索引之间进行查询的场景。允许指定一个索引名字列表和内部查询。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值