2

我运行查询并以表的形式获取 custId 列表。我如何将此结果传递给 IN 子句中的另一个搜索查询。

例如:

搜索 1: index=* "successful login for"|table custID 这给了我带有 custID 列的表。

然后我必须跑

index=* "邮件发送者"|where custID IN (search 1) |table CustID,_time

4

2 回答 2

2

使用子搜索。您必须尝试各种format选项以使输出与IN.

index=* "mail sent by"|where custID IN ([search index=* "successful login for"|fields custID | format]) |table CustID,_time

如果你不能得到format正确的输出,你可能不得不使用没有IN.

index=* "mail sent by"|where [search index=* "successful login for"|fields custID | format] |table CustID,_time

顺便说一句,index=*对于生产来说不是一个好习惯。使用真实的索引名称以获得更好的性能。

于 2018-05-16T02:24:46.987 回答
1
index=myindex <mainSearchConditions>
custID IN (
   [search index=myindex <subsearchConditions> | table custID | dedup custID 
   | stats values(eval("\"".custID."\"")) as search delim="," | nomv search]
)
于 2021-07-19T20:03:09.700 回答