我想查看与特定 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 布尔查询可以帮助您组合多个条件/查询。 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
Elastcsearch 搜索查询是一次性的。所以没有办法在之前的搜索结果中进行搜索
您可以使用
bool
查询(如 @Musab Dogan 建议)并组成一个条件:
(GUID == 'eb23c255-2986-4bf5-8b99-dd123affe739') AND (fish_tag 不为空)