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

Elasticsearch MUST和SHOULD bool查询的差异

左丘烨烁
2023-03-14

还有

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

"filtered": {
"filter": {
"bool" : {
        "must" : {
            "term" : { "type" : 1 }
            "term" : { "totals" : 14 }
            "term" : { "groupId" : 3 }
            "range" : {
                "expires" : {
                    "gte": "now"
                }
            }
        },

共有1个答案

邹杰
2023-03-14

must的意思是:子句(查询)必须出现在匹配的文档中。这些子句必须匹配,如逻辑和。

should的意思是:这些子句中至少有一个必须匹配,如逻辑或。

基本上,它们是像逻辑运算符AND和OR一样使用的。看这个。

 类似资料:
  • 这里有一个名为的小本体,由Protégé创建,其中我有类、、、和个体()、()和(也是)。在本体论中,我只声明。 当我在Protégé的DL Query选项卡中请求的实例时,我得到的是(它是,因此是,因此是)。 但当我编写以下SPARQ查询时: 我没有任何例子。当我将替换为时,结果是相同的。只有当我用替换它时,我才会得到所需的结果。 为什么DL查询做推断(允许我获得作为类的实例),而不是SPARQ

  • 我刚开始使用普罗米修斯,我正在尝试理解一些事情。 我有一个Java的web应用程序,它公开了一个叫做“my_counter”的计数器。 下面的查询有什么区别? 如果我在1小时的相同时间间隔内运行这些查询,为什么两个查询返回不同的结果? 我试图实现的是看看计数器在一个可配置的时间段内增加了多少。 多谢了。 附注。我实际上使用Grafana来运行查询并选择时间范围。

  • 我计划使用NodeJS api查询大量的数据。使用流api(https://cloud.google.com/nodejs/docs/reference/firestore/0.13.x/Query?#stream)代替常规的查询获取(https://cloud.google.com/nodejs/docs/reference/firestore/0.13.x/Query?#get)有什么好处吗?

  • 问题内容: 我有两个我以为是同一意思的查询,但是我一直得到不同的结果,我希望有人可以解释这些差异如何: 1。 2。 查询的重点是查找表1中的行和val = 0而不是表2中的行。 我也使用sql server 2008,但是我怀疑这是否重要。 问题答案: 在考虑左联接时,应将它们视为具有3个概念阶段。 应用联接过滤器 左侧的行又被添加回 应用where子句。 然后,您将看到为什么得到不同结果的原因。

  • 我试图在Windows上使用BCP(版本10)将数据导入赛贝斯ASE 15.7(试用版)。为此,我首先尝试使用以下命令为表创建格式文件,并获得一个错误:复制方向必须是in或out。格式中的语法错误。 我在下面的站点上查找了BCP实用程序选项,发现没有列出创建格式文件或queryout的选项。http://infocenter.sybase.com/help/index.jsp?topic=/com

  • 我想查询日期范围内的elasticsearch文档。我现在有两个选择,都很适合我。我已经测试了他们两个。1.范围查询2。距离滤波器 因为我现在有一个小数据集,所以无法测试它们的性能。这两者有什么区别?哪一种方法可以更快地检索文档和响应?