0

我是 splunk 的新手。只用了 3 天。我一直在使用 Lucene 以字段和未字段数据的形式对原始数据进行索引和搜索。lucenes 的搜索性能给我留下了深刻的印象。我想知道体验社区是否可以在这里指导我了解 splunk 的一些功能。具体而言,将 splunk 与我对 Lucene 的了解进行比较。不仅限于搜索。

  • splunk 如何处理停用词?非常常见的单词 a,the,is... 我们可以手动提供给 lucene。

  • splunk 是否执行通配符搜索、邻近搜索、正则表达式搜索?我知道它可以进行实地搜索。

  • 索引的优化。特别压缩。

  • 是否可以在 splunk 上进行基于同义词的模糊搜索?

    我知道这一定是一个冗长的问题,但肯定想从有经验的人那里了解一些关于 splunk 的观点,并希望不要偏离 SO 的规则。

谢谢你。

4

1 回答 1

5

这可能是对 Splunk 和 Lucene 之间差异的非常长的讨论,后者旨在索引时间序列、机器生成的数据,而 Lucene 最初旨在索引人类生成的文本文档。我们可以从您的问题开始。

  1. Splunk 没有停用词的概念。默认情况下,Splunk 会按照分段规则的定义为在事件中找到的所有关键字编制索引。

  2. Splunk 提供通配符搜索和短语搜索,但索引不提供本机邻近搜索或正则表达式搜索。对于那些,我们依赖于搜索处理管道中的后续命令。

  3. Splunk 积极压缩我们存储的原始数据,我们花费大量精力通过显式压缩和其他低占用数据结构使索引尽可能小。通常,您可以预期原始数据将是原始数据大小的 10%,而索引是原始数据大小的 20-40%,具体取决于熵。Splunk 通常需要原始原始数据大小的 30-50% 作为存储。

  4. 索引本身不提供同义词支持,因为这从根本上是人类文本的一个问题。然而,我们在事件类型中提供了一个类似的概念,它可用于表示有意义的查询类别,包括同义词。

于 2012-04-04T16:54:08.163 回答