我正在运行3节点SOLR云,并通过NiFi连接到zookeeper。我想知道如何添加从常规solr更新到PutSOLRContentStream处理器的路径参数。
我的工作卷曲:
/solr/my_collection/update&stream.file=/opt/files/$file&commit=true&separator=%7C&stream.contentType=text/csv;charset=utf-8&fieldnames=...
我从PutSOLRContentStream处理器获得的错误:(取自nifi-app.log)
org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error
from server at
http://my_solr_server:8983/solr/my_collection_shard#: Expected mime type
application/octet-stream but got text/html. <html>
<body><h2>HTTP ERROR 404</h2>
<p>Problem accessing
/solr/my_collection_shard#/update/extract&commit=true&separator=%7C&
charset=utf-8&fieldnames=... Reason:
<pre> Not Found</pre></p>
如何将curl转换为工作的PutSOLRContentStreamProcessor? (具体来说,如何正确填写处理器中的“内容流路径”和“内容类型”字段,以及是否需要添加任何其他字段)
答案 0 :(得分:0)
内容流路径应该只是更新处理程序的路径,例如“/ update / extract”。
对于要在请求中发送的任何其他参数,请通过单击属性窗口右上角的+图标添加用户定义的属性。
以下是一个例子:
答案 1 :(得分:0)
我在配置PutSolrContentStreamProcessor时遇到类似的问题。我有一个本地运行的标准solr服务器,一个名为:party的solr集合,我正在该核心中索引公司/参与方的json文档。
以下是对我有用的配置。
请注意,Solr位置包含 Solr集合的完整路径:http://localhost:8983/solr/party,并且将Collection值设置为“ party”或将该值保留为空没有任何作用。 。基本上,您需要在“ SolrLocation ”中正确定义完整的Solr路径,才能正常工作。
Solr版本:7.6
Nifi版本:1.10.0-快照