当前位置: 首页 > 知识库问答 >
问题:

ElasticSearch中查询DSL中的must和filter有什么区别?

易宏阔
2023-03-14
{
    "query": {
        "bool": {
            "must": [
                {
                    "term": {
                        "city": "city1"
                    }
                },
                {
                    "term": {
                        "saleType": "sale_type1"
                    }
                }
            ]
        }
    }
}

发布/xyz/_search

{
    "query": {
        "bool": {
            "must": [
                {
                    "term": {
                        "city": "city1"
                    }
                }
            ],
            "filter": {
                "term": {
                    "saleType": "sale_type1"
                }
            }
        }
    }
}

我得到了相同的结果,那么什么时候应该使用must和什么时候应该使用filter呢?有什么区别?

共有1个答案

乔俊才
2023-03-14

必须贡献分数。在筛选器中,查询的得分被忽略。

mustfilter中,子句(query)必须出现在匹配的文档中。这就是得到相同结果的原因。

您可以查看此链接

 类似资料:
  • 问题内容: 我是elasticsearch的新手,在must和filter之间感到困惑。我想在条款之间执行and操作,所以我这样做了 开机自检/ xyz / _search 这给了我所需的结果,既匹配了术语,又使用了像这样的过滤器 开机自检/ xyz / _search 我得到相同的结果,所以什么时候应该使用must以及什么时候应该使用filter?有什么区别? 问题答案: 有助于得分。在中,查询

  • 本文向大家介绍jQuery中的Grep和Filter有什么区别?,包括了jQuery中的Grep和Filter有什么区别?的使用技巧和注意事项,需要的朋友参考一下 该方法找到一个元素,然后该方法返回匹配特定条件的元素。 jQuery grep函数 示例 该函数用于查找数组的元素。您可以尝试运行以下代码以了解如何使用, jQuery过滤器功能 jQuery方法将返回与特定条件匹配的元素。 示例 您可

  • 我无法理解弹性搜索中的 Bool 筛选器和 And 筛选器之间的区别。 上下文:假设我的文档具有字段:X、Y、Z。 每个字段可以有多个值。 目标: 我想在以下意义上向弹性搜索发送一个查询:(X=value eX1 OR X=value eX2)AND(Y=value eY1 OR Y=value eY2 OR…)AND(Z=value eZ1 OR Z=value eZ2 OR……) 尝试: 我是

  • 应查找下列文件: 我尝试了以下方法: 它应该(但不是)这样工作: bool通过或和部分组合 第一个按查询选择 筛选器使用bool组合by或must_not` 但其行为类似于与via AND子句组合。例如。当我删除“must”或“must_not”时,查询工作。 如何通过OR子句更改查询以将“must”与“must_not”组合? Elasticsearch版本为

  • 还有 我可以使用多个过滤器在一个必须像下面的代码:

  • 主要内容:匹配所有查询,全文查询,匹配查询,multi_match查询,查询字符串查询,期限等级查询,范围查询,复合查询,连接查询,地理查询在Elasticsearch中,通过使用基于JSON的查询进行搜索。 查询由两个子句组成 - 叶查询子句 - 这些子句是匹配,项或范围的,它们在特定字段中查找特定值。 复合查询子句 - 这些查询是叶查询子句和其他复合查询的组合,用于提取所需的信息。 Elasticsearch支持大量查询。 查询从查询关键字开始,然后以对象的形式在其中包含条件和过滤器。以下描