使用apache solr

时间:2016-03-14 05:48:41

标签: apache solr

我是apache solr的新手。

我使用solr-cell上传了一些日志文件,我想根据日志文件中的内容创建构面。

例如:在我的日志文件中我有一个事务记录,我想创建transactionid作为我的facet并单击它应该导致在上传的日志文件中搜索并根据该特定id给我结果。< / p>

注意:我需要根据日志中的内容来构造字段。

2 个答案:

答案 0 :(得分:2)

只要该字段已编入索引,您就可以对其进行分析。因此,您可以使用无架构配置或使用dynamicField定义来匹配并自动为日志记录创建字段。

首先通过Solr示例,那里应该有足够的信息。

(根据评论更新) 如果需要对文本进行预处理和拆分,则有两种基本途径:

  1. 使用DataImportHandler(DIH),可能与LineEntityProcessorRegexTransformer将字段拆分为多个字段
  2. 使用UpdateRequestProcessor链(在solrconfig.xml中)并可能多次克隆该字段,然后使用RegexReplaceProcessorFactory提取相关部分。这甚至比DIH更丑陋,因为没有简单的方法将一个领域分成许多领域。
  3. 仍然,特别是对于日志,最好使用Logstash with Solr output plugin之类的东西。

答案 1 :(得分:0)

+1给Alex的答案。

另一种方法是编写一个自定义更新处理器,您可以在其中确定要在哪个字段上进行分析,并将该字段显式添加到文档中。 只有在根据某种模式知道所期望的字段类型时,这才有意义。如果不是这样,那么使用动态字段或无模式配置是最好的选择。