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

如何在同一路径的多个嵌套子查询中返回多个内部命中?

南宫阳冰
2023-03-14

当我对同一路径有多个嵌套子查询时,结果似乎只包括最后一个嵌套子查询的内部命中结果。有没有办法返回多个嵌套子查询的所有内部命中结果?

e. g.

{
    "query": {
        "bool: {
            "must": [{
                "nested": {
                    "query": {...},
                    "path": "path_a",
                    "inner_hits": {}
                }
            },{
                "nested": {
                    "query": {...},
                    "path": "path_a",
                    "inner_hits": {}
                }
            }]
        }
    }
}

共有2个答案

司空叶五
2023-03-14

对于同一路径,需要在子查询之前指定嵌套路径。

下面是在同一嵌套路径中通过匹配或范围进行搜索的示例。您可以根据需要修改搜索。

    GET index/_search
    {
      "query": {
        "nested": {
          "path": “path.subpath”,
          "query": {
            "bool": {
              "must": [
                { "match": { “path.subpath.match1”: “valueMatch” }},
                { "range" : {  “path.subpath.range1” :         {"gte": “rangeMatch”  }  }  
 }
              ]
            }
          }
        }
      }
    }

希望这有帮助!

郭鸿信
2023-03-14

如果你在inner_hits中添加一个唯一的名称,那么结果基本上将包含你所期望的内在命中的地图。

注意:似乎有时内部命中在matched_queries中包含额外的查询名称(来自其他嵌套查询),因此可能需要一些后处理

 类似资料:
  • 问题内容: 当我对同一路径有多个嵌套子查询时,似乎结果将仅包括最后一个嵌套子查询的内部匹配结果。有没有一种方法可以返回多个嵌套子查询的所有内部匹配结果? 例如 问题答案: 如果添加了独特的你,那么结果将基本包含地图你内心命中为您期望。 注意 :似乎内部匹配有时在中包含额外的查询名称(来自其他嵌套查询),因此可能需要进行一些后期处理

  • 问题内容: 桌子: 我的查询: 我收到“ MySQL子查询返回多个行”错误。 我知道此查询可以使用以下查询的解决方法: 然后使用php循环遍历结果并执行以下查询以获取和回显它: 但是我认为可能会有更好的解决方案? 问题答案: 简单的解决方法是在子查询中添加一个子句: 一个更好的选择(就性能而言)是使用联接:

  • 问题内容: 我的查询导致以下错误: 消息512,级别16,状态1,过程Item_insupd,第17行 子查询返回了多个值。当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,不允许这样做。 询问: 我怀疑这种情况的发生是因为我的子查询不包含,但是不幸的是,我不知道如何构造正确的子句。 问题答案: 我怀疑问题出在此字符串中(您的代码中的第26行): 看起来像返回多个行,所以您遇到了错

  • 问题内容: 以下查询应返回从动漫中扮演角色的人物的姓名。但我收到以下错误: Blockquote ORA-01427:单行子查询返回多个行 提前致谢! 问题答案: 代替 使用 查询中有5个条件需要更改。 UPD 另外,您的查询等同于

  • 问题内容: 我正在使用SQL Server 2008。 下面是一个示例记录集。 我想每次更改“值”时都要查询一次。例如,我想要第1、9、14、26、28、37和50行。 我曾尝试使用SELECT DISTINCT,但这不起作用,因为“值”列具有重复的值(即第1行和第14行)。 我已经搜索了一段时间,但没有找到解决方案。如果您有一个,请告诉我!谢谢! 问题答案: 在最新版本的SQL Server中,

  • 在这种情况下,我有几个子查询,通过联合连接,每个子查询都嵌套有一个内部子查询。外部子查询彼此完全相同,而内部查询不同且唯一。 重用整个外部子查询对于读取和进行更改来说是很麻烦的,如果它们可以定义一次并重用,那将是非常有益的。所以这是一个关于创建可重用的SQL查询的问题,但是有不同的内部子查询作为参数传递。 对于我的示例,我将给出一个简化的案例,它与我的实际代码具有相同的问题。 我们正在使用Orac