多级查询

问题描述 投票:0回答:2

我想查看与特定 Guid 匹配的所有结果,以及第一个结果中与特定字段 (

fish_tag
) 匹配的所有结果,无论它们是否有 Guid。

例如,在第 1 阶段,我搜索 eb23c255-2986-4bf5-8b99-dd123affe739,并说返回了 20 个结果。在这 20 个中,有些在其

fish_tag
字段中没有任何内容,有些有值(不一定是唯一的)。在第 2 阶段中,我仅在
fish_tag
字段中搜索第 1 阶段中返回的所有值,并返回更多结果,例如 100 个。第 2 阶段结果中包含第 1 阶段中搜索到的
fish_tag
的结果。

理想情况下,我正在寻找一个查询来返回第 1 阶段和第 2 阶段的组合/串联,或者如果不可能在一个查询中返回第 2 阶段。

是否可以在 Kibana 中制作这样的多阶段查询?

elasticsearch kibana
2个回答
0
投票

Elasticsearch 布尔查询可以帮助您组合多个条件/查询。 https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html

您还可以在 Kibana 可视化/仪表板中使用布尔查询。 https://www.elastic.co/guide/en/beats/packetbeat/current/kibana-queries-filters.html#_boolean_queries

例如。

type: mysql AND method: INSERT AND status: Error

(method: INSERT OR method: UPDATE) AND event.duration >= 30000000


0
投票

Elastcsearch 搜索查询是一次性的。所以没有办法在之前的搜索结果中进行搜索

您可以使用

bool
查询(如 @Musab Dogan 建议)并组成一个条件:

(GUID == 'eb23c255-2986-4bf5-8b99-dd123affe739') AND (fish_tag 不为空)

© www.soinside.com 2019 - 2024. All rights reserved.