问题描述
我正在以编程方式构建与/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!