我有2个查询我要执行:
1)我想获得弗兰克的生日。(该人的名称是文档的ID)。
2)弗兰克的老板是鲍勃。我需要得到以鲍勃为老板的人数(包括弗兰克)。
对于#1我正在做:
GET /myindex/_search
{
"_source": [
"birthday"
],
"query": {
"term": {"_id" : "Frank"}
}
}
对于#2我正在做:
GET /myindex/_count
{
"query": {
"bool": {
"filter": [
{
"term": {
"boss": "Bob"
}
}
]
}
}
}
获得#1然后立即获得#2似乎是浪费。有没有办法将查询组合到1个查询中?
我的尝试:
GET /myindex/_search
{
"_source": [
"birthday"
],
"query": {
"term": {"_id" : "Frank"},
"bool": {
"filter": [
{
"term": {
"boss": "Bob"
}
}
]
}
}
}
这显然是错误的,并返回错误:[术语]畸形查询,预期[end_object],但找到[field_name]
,直到您不需要在其他查询内部的第一个查询中结果,您可以使用多搜索API