Elasticsearch中should失效的问题

这篇具有很好参考价值的文章主要介绍了Elasticsearch中should失效的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题

在Elasticsearch中,当我们将must和should同级使用的时候,我们就会发现should失效了。

分析原因

首先,当我们直接使用should的时候,参数minimum_should_match默认为1,此时我们使用should是可以正常返回结果的。
但是当我们将must和should同级使用的时候,此时minimum_should_match参数变为了0,也就是即使一个也没有匹配也是会有结果返回的,此时should就失效了。
这是因为must的作用就是要求所有的条件都满足,而should只是一个可选的条件。文章来源地址https://www.toymoban.com/news/detail-523233.html

解决方案

  1. 如果想让should中至少一个条件生效,只需要手动配置mini_should_match为1即可
  2. 将should通过bool语句嵌到must里面,以避免should和must同级使用
  3. 在Java代码中,还可以通过must配合termsQuerys来达到should的效果。

到了这里,关于Elasticsearch中should失效的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决使用@Field注解配置分词器失效问题(Spring Data Elasticsearch)

    问题复现:插入数据时,实体类配置的@Field注解没有生效 实体类: 查看索引库,发现它使用动态映射,并没有使用静态映射: 解决方案:在插入数据时,提前创建索引库和映射。

    2024年02月16日
    浏览(34)
  • 基于Elasticsearch与Hbase组合框架的大数据搜索引擎

    本项目为学校大数据工程实训项目,共开发4周,答辩成绩不错。代码仓库放文章尾,写的不好,代码仅供参考。 对于结构化数据 ,因为它们具有特定的结构,所以我们一般都是可以通过关系型数据库(MySQL,Oracle 等)的二维表(Table)的方式存储和搜索,也可以建立索引。

    2024年02月09日
    浏览(63)
  • Elasticsearch (ES) 搜索引擎: 数据类型、动态映射、多类型(子字段)

    原文链接:https://xiets.blog.csdn.net/article/details/132348634 版权声明:原创文章禁止转载 专栏目录:Elasticsearch 专栏(总目录) ES 映射字段的 数据类型 ,官网文档参考:Field data types。 下面是 ES 常用的一些基本数据类型。 字符串 类型: keyword :类型。 text :文本类型。

    2024年03月23日
    浏览(63)
  • ElasticSearch中的should 用法

    有一个场景需要实现 es_table中 isMember = 1 和 isMember !=1 其中isMember!=1有两种可能: isMember = 0 或者 isMember不存在  这种情况需要用到should,同时 跟其他条件 例如注册年在2023 是并列的关系 脚本需要用 should包含 两个条件 isMember = 0 或者 isMember不存在   GET es_table/_count {  

    2024年02月05日
    浏览(37)
  • elasticsearch(ES)分布式搜索引擎04——(数据聚合,自动补全,数据同步,ES集群)

    **聚合(aggregations)**可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近

    2024年02月08日
    浏览(47)
  • 微服务04 分布式搜索引擎 elasticsearch DSL数据聚合 自动补全 数据同步 集群 Sentinel

    聚合(aggregations)可以让我们极其 方便的实现对数据的统计、分析、运算 。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些 统计功能的比数据库的sql要方便的多,而且查询速度非常快 ,可以实现近

    2024年02月11日
    浏览(49)
  • Elasticsearch同时使用should和must

    must和should组合查询,should失效。 使用must嵌套查询,将should组成的bool查询包含在其中一个must查询中。

    2024年02月13日
    浏览(34)
  • ElasticSearch 中 should 设定优先级

    在 Elasticsearch 中,查询时可以使用 should、must 和 must_not 来组合多个查询条件。这些定义了查询条件之间的关系,并决定了查询结果的匹配程度。 must 表示必须匹配的条件,满足 must 条件的文档才会被返回。 should 表示可选匹配的条件,至少满足一个 should 条件的

    2024年02月02日
    浏览(32)
  • 《Spring Boot 实战派》--13.集成NoSQL数据库,实现Elasticsearch和Solr搜索引擎

             关于搜索引擎 我们很难实现 Elasticseach 和 Solr两大搜索框架的效果;所以本章针对两大搜索框架,非常详细地讲解 它们的原理和具体使用方法, 首先 介绍什么是搜索引擎 、如何用 MySQL实现简单的搜索引擎,以及Elasticseach 的 概念和接口类; 然后介绍Elasticseach

    2023年04月09日
    浏览(88)
  • 微服务04 分布式搜索引擎 elasticsearch DSL数据聚合 自动补全 数据同步 集群 微服务保护 Sentinel

    聚合(aggregations)可以让我们极其 方便的实现对数据的统计、分析、运算 。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些 统计功能的比数据库的sql要方便的多,而且查询速度非常快 ,可以实现近

    2024年02月15日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包