使用结构化查询的组合查询的JSON语法

问题描述

我正在以编程方式构建与/v1/search REST端点一起使用的组合查询,对于包含结构化查询的组合查询的正确语法,我有些困惑。组合查询search元素开始,而query元素包含结构化查询。我可以找到的结构化查询示例以query元素开头,并将查询放入queries数组中。因此,这意味着我的合并查询如下:

{ "search": {
  "query": {
    "query": { 
      "queries": [
        {"term-query":{"text":["foo"]}}
      ]
    }
  }
}}

所以我想我真正要问的是/search/query/query/queries[]还是/search/query/queries[]

解决方法

多余的query.queries看起来有些奇怪,但这是符合语法的语法,可以正常工作。您也可以将term-query(或任何其他查询)直接放在search.query下。这也可以:

{
  "search": {
    "query": {
      "and-query": {
        "queries": []
      }
    }
  }
}

HTH!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...