我已经在 ubuntu 16.04 LTS 上安装了 solr 6.4.0,并且想要使用以前在 solr CLOUD 5.2.1 上使用过的配置
创建新的核心并链接配置文件后,我现在可以在 Web 界面上看到该核心,并且可以在核心的管理界面下正确地看到文件。
更新链接显示为灰色,单击后会显示错误消息:
抱歉,没有定义 dataimport-handler!
我检查的内容:
- Solrconfig加载jar:
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" /> <lib dir="/usr/share/java/" regex="mysql-connector-java-.*\.jar" />
似乎有效,因为它在更改文件名时显示错误消息。因此我假设 mysql 连接器已加载
- 定义的数据导入处理程序:
在 solrconfig 中:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">dataimport.xml</str> </lst> </requestHandler>
- Dataimporthandler 本身
文件 dataimport.xml 存在并显示:
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
user="solr"
password="secret"
convertType="true"
batchSize="-1"
encoding="UTF-8" />
...
webadmin 中的日志文件未显示任何错误。我假设日志记录未配置为显示此类错误。
当我更改 dataimport.xml 中的密码或数据库名称时,没有任何变化。错误消息相同。
关于如何缩小问题范围有什么想法吗?
答案1
看起来问题出在管理界面,如果你发送直接的数据导入请求,你会得到预期的响应。
Apache Jira 网站上有一个针对此问题的 Bug,并有一个修复
答案2
我刚刚降级到 6.3.0 并且它正常工作... 似乎 6.4.0 在数据导入处理程序方面有一些变化