我正在探索SOLR Cloud
作为索引大量基于随机日志的文本并搜索相同内容的潜在解决方案之一。我有一个关于将日志文件数据发布到SOLR
的基本问题。
任何日志语句中的前几个字段都是重要字段(timestamp
,severity
等),这些字段由空格键分隔。我们如何告诉SOLR
这些字段的结束位置以及自由文本的开始位置(其中包含许多空格字符)?
例如可能是: “ Timestamp ModuleName严重性messageId 许多将以空格分隔的自由文本。”
如果我能够将免费文字添加到SOLR
,我该如何搜索?我认为SOLR
不允许我搜索自由文本,因为它不是索引的一部分。如果是这样,那我怎样才能将我的免费文本的某些部分编入索引呢?因此,也可能有一些感兴趣的自由文本字段,我也可能想要搜索它们。
说,像:
这样的陈述“时间戳模块名称严重性messageId - 许多自由文本将以空格分隔但包含 externalResponseValue 也可以搜索但不是所有日志行都将拥有它及其位置也不会固定在它出现的一行内。“
谢谢!
Sumit
答案 0 :(得分:1)
您可以查看DIH: -
使用LineEntityProcessor逐行处理日志文件
使用RegexTransformer将线分割成片段并相应地填充字段。
这将包括各个字段中的所有数据。如果您索引可以搜索的文本字段。