ElasticSearch 复合查询 java入门的一个坑

本文介绍了在ElasticSearch中使用should/must查询时遇到的一个问题,即联合使用可能导致搜索结果范围扩大。文章通过实例展示了如何在商品全文搜索场景下,正确处理should和must查询以提高搜索准确率。通过调整查询结构,从2917条结果降低到39条,显著改善了查询效果,并邀请了解原理的大佬分享相关知识。
摘要由CSDN通过智能技术生成

ElasticSearch should/must查询

本人刚接触ES两个月,公司最近要用到商品的全文搜索,刚好对于我这个刚接触es是个挑战。
可能有大佬认为这是个小儿科,当然,这只是个人认为入门需要注意的小坑,如果觉得哪里写的不好,谢谢指出,我会尽力修改完善!


should查询和must查询联合使用会导致搜索结果范围扩大

代码块

举个例子,有个需求:电商需要根据输入的关键词搜索商品,
1.要求能用空格分词功能,
2.支持多条件筛选:用户勾选多品牌、多个类目、多种国家的商品条件,能筛选出这些条件下的商品
3.页面给用户查看的商品均为可售卖商品 (saleStates=xxxx)
查询关键词为 mobile 例如:

{
  "size": 12,
  "query": {
    "bool": {
      "should": 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值