如何合并我的查询以将行程保存到 Elasticsearch?
How do I get combine my queries to save trips to Elasticsearch?
我有 2 个查询要执行:
1) 我想给弗兰克过生日。 (人名就是文档的id)
2) Frank 的老板是 Bob。我需要得到有多少人(包括 Frank)有 Bob 作为他们的老板。
对于#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"
}
}
]
}
}
}
这显然是错误的,returns 错误:[term] 格式错误的查询,预计 [END_OBJECT] 但发现 [FIELD_NAME]
除非您不需要其他查询中第一个查询的结果,否则您可以使用 Multi Search Api
我有 2 个查询要执行:
1) 我想给弗兰克过生日。 (人名就是文档的id)
2) Frank 的老板是 Bob。我需要得到有多少人(包括 Frank)有 Bob 作为他们的老板。
对于#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"
}
}
]
}
}
}
这显然是错误的,returns 错误:[term] 格式错误的查询,预计 [END_OBJECT] 但发现 [FIELD_NAME]
除非您不需要其他查询中第一个查询的结果,否则您可以使用 Multi Search Api