使用ApacheSolr创建动态方面
我是apache solr的新手 我已经使用solr cell上传了一些日志文件,我想根据日志文件中的内容创建facet 例如:在我的日志文件中,我有一个事务记录,我想创建transactionid作为我的方面,单击它应该会在上传的日志文件中搜索,并根据特定id给我结果使用ApacheSolr创建动态方面,apache,solr,Apache,Solr,我是apache solr的新手 我已经使用solr cell上传了一些日志文件,我想根据日志文件中的内容创建facet 例如:在我的日志文件中,我有一个事务记录,我想创建transactionid作为我的方面,单击它应该会在上传的日志文件中搜索,并根据特定id给我结果 注意:我需要根据日志中的内容来刻面字段。只要字段被索引,您就可以在其上刻面。因此,您可以使用无模式配置或使用dynamicField定义来匹配并自动创建日志记录的字段 首先浏览Solr示例,应该有足够的信息 (根据评论更新) 如
注意:我需要根据日志中的内容来刻面字段。只要字段被索引,您就可以在其上刻面。因此,您可以使用无模式配置或使用dynamicField定义来匹配并自动创建日志记录的字段 首先浏览Solr示例,应该有足够的信息 (根据评论更新) 如果文本需要预处理和拆分,有两种基本途径:
不过,特别是对于日志,最好使用这样的内容。只要字段被索引,您就可以在其上刻面。因此,您可以使用无模式配置或使用dynamicField定义来匹配并自动创建日志记录的字段 首先浏览Solr示例,应该有足够的信息 (根据评论更新) 如果文本需要预处理和拆分,有两种基本途径:
只有在您知道基于某种模式所期望的字段类型时,这才有意义。如果不是这样,那么使用动态字段或无模式配置是最好的选择。如果我理解正确,您基本上不知道要在哪个字段上刻面,对吗?正如我上载日志文件一样,它应该根据日志文件中的内容(例如transactionid)创建动态刻面如果我理解正确,您基本上不知道要在哪个字段上刻面,对吗?正如我上载日志文件一样,它应该根据日志文件中的内容创建动态刻面(例如transactionid),我尝试索引内容并将其添加为刻面,但这创建了许多不相关的刻面(尽管它是从内容中选取的)我甚至不需要它。你能澄清一下如何做到这一点吗..因为我已经参考了文档,但这对我没有帮助。你必须在日志中识别模式,这是如果有任何开始。一旦你这样做,你可以使用正则表达式来提取相关字段并对它们进行索引。你能引用一个如何使用正则表达式的例子吗o提取相关字段并为其编制索引。如果假设我已识别模式?让我们假设您正在查找以
事务开始的所有字段的facet。在这种情况下,您将使用如下正则表达式:(^transaction.*)
。这是一个非常简单的示例,实际的正则表达式可能要复杂得多,具体取决于您的用例。您可以使用dynamicField definition with stored=false index=false来匹配您不需要的字段(只要它们具有半一致的名称模式)。它们将进入Solr,然后被有效地丢弃。我尝试为内容编制索引并将其添加为方面,但这会创建许多不相关的方面(尽管它是从内容中选取的)我甚至不需要它。你能澄清一下如何做到这一点吗..因为我已经参考了文档,但这对我没有帮助。你必须在日志中识别模式,这是如果有任何开始。一旦你这样做,你可以使用正则表达式来提取相关字段并对它们进行索引。你能引用一个如何使用正则表达式的例子吗o提取相关字段并为其编制索引。如果假设我已识别模式?让我们假设您正在查找以事务开始的所有字段的facet。在这种情况下,您将使用如下正则表达式:(^transaction.*)
。这是一个非常简单的示例,实际的正则表达式可能要复杂得多,具体取决于您的用例。您可以使用dynamicField definition with stored=false index=false来匹配您不需要的字段(只要它们具有半一致的名称模式)我的问题是,如果我有一个文本文件,其中的内容是“2016-02-25 18:05:44821[WebContainer:6]DEBUG[74311F40D97148,用户ID:Inspector 6]-com.apache.org.plm.usersearch.client.UserSearchAPI-{LOG PROPERTIES:ProcessTime:0ms,COMPONENT_NAME:USERSEARCH,TransRefGUID:7431C9280D97148,USER_ID:examicer6,}调用代理………“如果我已经为它编制了索引,那么我只需要将examicer作为我的方面,或者将TransRefGUID作为我的方面。对于这种类型,我们有什么