通过Flume将JSON文件摄取到SOLR中

通过Flume将JSON文件摄取到SOLR中,json,solr,bigdata,cloudera,flume,Json,Solr,Bigdata,Cloudera,Flume,我想使用Flume将JSON文件吸收到SOLR中,我想知道哪种方法是最好的。 目前,对我来说唯一有效的方法是在Flume中使用JSONHandler,但json事件需要有特定的格式(头、体)。我要摄取的JSON事件具有嵌套数据,并且没有(头、体)格式。 请在下面找到我的Flume源配置(HTTP源、内存通道和solr接收器) 另一个想法是编写一个定制的JSONHandler,但我想知道这是否还不存在(我还没有找到一个好的例子)。 一种选择是在多行中进行。我看到有一个readJson函数,但我还没

我想使用Flume将JSON文件吸收到SOLR中,我想知道哪种方法是最好的。 目前,对我来说唯一有效的方法是在Flume中使用JSONHandler,但json事件需要有特定的格式(头、体)。我要摄取的JSON事件具有嵌套数据,并且没有(头、体)格式。 请在下面找到我的Flume源配置(HTTP源、内存通道和solr接收器)

另一个想法是编写一个定制的JSONHandler,但我想知道这是否还不存在(我还没有找到一个好的例子)。 一种选择是在多行中进行。我看到有一个readJson函数,但我还没有使用它。
感谢您的帮助

所以,当添加json文件时,您的文档是如何在solr中定义的。我的json文件具有嵌套结构。我只想从文件中检索一些信息(展平)。字段未嵌套在Solr中。是否成功?我也有同样的问题,但在我的例子中,我确实用头和正文包装了我的http json消息,但是我不能在readJson之后使用ExtractJSonPath读取摘录正文(只有头起作用),所以在添加json文件时,您的文档是如何在solr中定义的。我的json文件具有嵌套结构。我只想从文件中检索一些信息(展平)。字段未嵌套在Solr中。是否成功?我也有同样的问题,但是在我的例子中,我确实用头和正文包装了我的http json消息,但是我不能在readJson之后使用ExtractJSonPath读取摘录正文(只有头可以工作)
c_aggregator_poc.sources  = c_analytics-httpsource1-poc
c_aggregator_poc.channels = c_analytics-memorychannel1-poc
c_aggregator_poc.sinks    = c_analytics-solrsink1-poc


c_aggregator_poc.sources.c_analytics-httpsource1-poc.type     = http
c_aggregator_poc.sources.c_analytics-httpsource1-poc.handler     = org.apache.flume.source.http.JSONHandler
c_aggregator_poc.sources.c_analytics-httpsource1-poc.port     = 9049

c_aggregator_poc.sources.c_analytics-httpsource1-poc.channels = c_analytics-memorychannel1-poc

c_aggregator_poc.channels.c_analytics-memorychannel1-poc.type   = memory
c_aggregator_poc.channels.c_analytics-memorychannel1-poc.capacity   = 10000
c_aggregator_poc.channels.c_analytics-memorychannel1-poc.transactionCapacity   = 1000


c_aggregator_poc.sinks.c_analytics-solrsink1-poc.type         = org.apache.flume.sink.solr.morphline.MorphlineSolrSink
c_aggregator_poc.sinks.c_analytics-solrsink1-poc.channel      = c_analytics-memorychannel1-poc
c_aggregator_poc.sinks.c_analytics-solrsink1-poc.morphlineFile   = morphlines.conf
c_aggregator_poc.sinks.c_analytics-solrsink1-poc.morphlineId = morphlineC_analytics