Nosql 向Splunk搜索添加约束会产生更多的结果行

Nosql 向Splunk搜索添加约束会产生更多的结果行,nosql,splunk,Nosql,Splunk,考虑以下两个Splunk搜索: index=a | join type=inner MyKey [search index=b] 以及: 值得注意的是,后一种搜索(其子搜索具有约束)的结果行数是前一种搜索的三倍 对于join命令,为了与SQL的join参数进行比较,for建议使用足够接近的语义: 如果指定的字段是公共字段,则联接用于组合搜索和子搜索的结果。还可以使用selfjoin命令将表连接到自身 此代码段与type=internal参数相关: 如果指定的字段是公共字段,则联接用于组合搜索和

考虑以下两个Splunk搜索:

index=a | join type=inner MyKey [search index=b]
以及:

值得注意的是,后一种搜索(其子搜索具有约束)的结果行数是前一种搜索的三倍

对于
join
命令,为了与SQL的
join
参数进行比较,for建议使用足够接近的语义:

如果指定的字段是公共字段,则联接用于组合搜索和子搜索的结果。还可以使用selfjoin命令将表连接到自身

此代码段与
type=internal
参数相关:

如果指定的字段是公共字段,则联接用于组合搜索和子搜索的结果。还可以使用selfjoin命令将表连接到自身

基于此信息,我假设上面的两个Splunk搜索应分别等效于以下SQL:

SELECT *
FROM a
INNER JOIN b ON a.MyKey = b.MyKey
以及:

添加约束如何可能增加结果行的数量

有趣的是,下面的Splunk搜索生成了第三个结果——与我将相同数据放入SQL数据库时得到的结果相匹配:

index=a | join type=outer MyKey [search index=b | eval hasmatch=1]
| where hasmatch=1
还有一些注意事项:

  • MyVal
    字段在两个表/索引中都没有重复项
  • 我已经验证了Splunk索引中的原始事件与
    MyVal
  • props.conf
    中的相关源类型配置的唯一搜索时间操作是
    报告
    ,用于根据
    transforms.conf
    中的节提取字段(源数据采用CSV方言)

有人能给我一些线索吗?就我而言,这种行为是荒谬的。

我建议你在官方的Splunk论坛(Splunk base.Splunk.com)上重新发布这个问题。那里有一些非常有用和有经验的“splunker”(员工、客户、合作伙伴等),它可能是回答您问题的更好地方

干杯


MHibbin

我也在那里发布了这个问题:不幸的是,到目前为止还没有人回答。
SELECT *
FROM a
INNER JOIN b ON a.MyKey = b.MyKey
WHERE b.MyVal > 0
index=a | join type=outer MyKey [search index=b | eval hasmatch=1]
| where hasmatch=1