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

返回的结果必须多于筛选器

祁霖
2023-03-14

我检查了这个问题,在elasticsearch中查询DSL中必须和过滤器有什么区别?并阅读答案。

据我所知,必须和过滤器应该返回相同的结果。我说的对吗?但是当我把过滤查询改为必须时,我收到了更多的结果?我做错了什么?

我比较了过滤器,必须查询并得到不同的结果。

共有1个答案

牟华翰
2023-03-14

必须查询给你一些分数,用来添加到总得分的文件。

过滤器查询不添加任何分数。它只是用于决定结果集中是否返回文档。

通过查看附加查询的屏幕截图,当您将过滤器查询更改为必须查询时,它会开始向文档的总分添加一些值。

由于您使用的是min_score条件,must子句会使更多的文档超过0.2分,因此在最终结果集中会返回更多的文档。

当您共享完整的查询时,其余的事情会更加清晰。

 类似资料:
  • 我试图为一个问题找到一个解决方案,在这个问题上,我需要根据多个标准来细化结果。我有多个选择标准: 水果-苹果橙子葡萄 蔬菜-番茄土豆西兰花 坚果-核桃花生杏仁 谷物-玉米小麦大米 香料-肉桂姜椒 用户只能从每个组中选择一个标准,例如,您可以选择苹果,但不能选择橘子或葡萄。参见jsfiddle。 然后我有多个篮子,里面有不同的物品。 但问题是,这些结果必须基于多个标准进行精炼。例如,我选择了苹果,然

  • 问题内容: 它返回此错误:此方法必须返回boolean类型的结果。我究竟做错了什么? 问题答案: 现在,不能保证该函数返回a ,因为很可能不会输入任何一条语句。 您可以像这样修复它(但 只有 在您的逻辑确实需要它的情况下 才 这样做):

  • 我有一个带有键的HashMap,值是字符串。我想通过以字符串“locationid”开头的键值过滤HashMap,并将键中的值返回到字符串数组列表中。HashMap的填充方式如下: 我需要arraylist中的ORG_Id值。 我找不到可以将值放入字符串列表的位置。编译错误是它不识别values()方法。 更新还尝试将筛选后的Hashmap放入另一个Hashmap中,如下所示: 但得到的编译错误是

  • 我在过去使用过JSoup并能够将XPath转换为选择器,但是在一个已经改变的站点上,我无法获得这个表的结果。 Firefox为表 两个都不起作用。即使在Try JSoup链接 第一个第n个子表本身返回NULL。 你知道这个页面有什么特别之处吗? 我将用户代理字符串设置为

  • 我试图弄清楚如何从angular 6/typescript应用程序向firebase数据库编写事务。 下面是我使用的一个工作示例作为指导: 我确定的关键部分如下: 1)创建一个数组来保存事务:const transactions=[]; 2)开始事务:返回db.runtransactions(function(transactions){… 3)使用事务:transaction.set(newPh

  • 问题内容: 在我的Ajax请求(使用jQuery)中,我返回了JSON响应。 所以json.Html将有一个HTML字符串,我想在div内追加。 在服务器端,我是否必须转义HTML? 在我的MVC动作中,我返回: 问题答案: 另一种解决方案是仅返回HTML并使用jQuery的: 不过,按照自己的方式进行操作,只需转义双引号和反斜杠即可。 该规范易读且简短。