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

关于联合查询的问题?

齐英耀
2023-03-14

使用Elasticsearch用kibana的devp搜索“a的productID或(b的productID和c的price)”这是我的代码:(什么是对的?)

 GET my_store/products/_search
{
    "query":{
        "bool":{
            "should":[
                {
                    "match":{
                        "productId":a
                    }},
                    {"match":{
                        "productId":b
                    }
                }
                ],
            "must":{
                "match":{
                    "price":c
                }
            }
        }
    }
}

共有1个答案

倪振海
2023-03-14

您需要productID of a或(productID of b和price of c)。听起来像

productid=A或(productid=B和price=C)

{
    "query": {
        "bool": {
            "should": [
                {
                    "match": {"productID": "a"}
                },
                {
                    "bool": {
                        "must": [
                            {"match": {"productID": "b"}},
                            {"match": {"price": "c"}}
                        ]
                    }
                }
            ]
        }
    }
}

你考虑以下几点

或=应该和=必须

 类似资料:
  • 简介 Cabal-DB 的关联数据查询主要用了两个方法:->has('table') 和->belongs('table'), 因为其实数据库关联关系只有两种,一种是拥有(has)另一种是属于(belongs),如: 用户拥有更多个文章 文章拥有多个标签 文章属于一个用户 文章标签关联记录属于一个标签和一篇文章 语法 拥有关系查询语法: $row->has($name, $foreignKeyOr

  • 级联关系是一个数据库实体的概念,有 3 种级联关系,分别是一对一级联、一对多级联以及多对多级联。例如,一个角色可以分配给多个用户,也可以只分配给一个用户。大部分场景下,我们都需要获取角色信息和用户信息,所以会经常遇见以下 SQL。 在级联中存在 3 种对应关系。 一对多的关系,如角色和用户的关系。通俗的理解就是,一家软件公司会存在许多软件工程师,公司和软件工程师就是一对多的关系。 一对一的关系。每

  • 查询是根据用户的请求用可读格式显示从数据库中提取的数据。Navicat 提供强大的查询工具:查询编辑器 - 可直接编辑查询文本,查询创建工具、查找创建工具或聚合创建工具 - 视觉化地创建查询。你可以保存查询,用于设置自动运行任务。在主窗口中,点击 “查询”来打开查询的对象列表。你亦可以在主工具栏点击 “新建查询”来创建一个新的查询而不必打开任何连接。 若要使用外部编辑器打开查询,请右击查询并选择“

  • 查询是根据用户的请求用可读格式显示从数据库中提取的数据。Navicat 提供强大的查询工具:查询编辑器 - 可直接编辑查询文本,查询创建工具、查找创建工具或聚合创建工具 - 视觉化地创建查询。你可以保存查询,用于设置自动运行任务。在主窗口中,点击 “查询”来打开查询的对象列表。你亦可以在主工具栏点击 “新建查询”来创建一个新的查询而不必打开任何连接。 若要使用外部编辑器打开查询,请按住 Contr

  • 查询是根据用户的请求用可读格式显示从数据库中提取的数据。Navicat 提供强大的查询工具:查询编辑器 - 可直接编辑查询文本,查询创建工具、查找创建工具或聚合创建工具 - 视觉化地创建查询。你可以保存查询,用于设置自动运行任务。在主窗口中,点击 “查询”来打开查询的对象列表。你亦可以在主工具栏点击 “新建查询”来创建一个新的查询而不必打开任何连接。 【提示】查询(.sql 或 .js)保存于设置

  • 是否可以在JPA中查询“union”,甚至在“Criteria Builder”中查询“union”? 还是使用本机SQL?