在splunk的| search命令中我们可能想要对base search中的数据和子查询中的数据进行一个筛选,比如说将base search中某个字段与子查询中某个字段进行对比筛选,一下面的测试为例:
| base search
...
...
| search
[| inputlookup test.csv
| fields name,age]
#该例表明对base search数据中的name和age字段与inputlookup中的name和age进行对比,筛选出base search中的name+age作为联合关键字能与inputlookup 中name+age匹配上的数据,也就是说在base search中找出name+age存在于inputlook中的那些数据。这里的子查询中必须使用fields来指定字段名才能知道是要将字段名作为子查询的返回结果,否则不会进行筛选的过程;这里| fields后面可以指定一个或多个字段,如果是多个字段,就是联合关键字,即必须这多个字段同时满足才可以。
| base search
...
...
| search NOT
[| inputlookup test.csv
| fields name,age]
#如果在| search后面加上了NOT表名base search中的字段不存在于子查询中;如果| fields后面是多个字段,就表明这多个字段作为联合关键字不存在于子查询中。