我正在尝试通过 /dataimport?command=full-import 导入数据库。这是(我理解的)相关信息:
在 Xubuntu 12.04 上使用 Solr Tomcat6 我最初通过 apt-get install solr-tomcat 安装了 solr 我通过 service tomcat6 start 运行 solr
Solr 规范版本:3.6.1.2012.09.06.10.36.26 Solr 实现版本:3.6.1 debian - buildd - 2012-09-06 10:36:26 Lucene 规范版本:3.6.1 Lucene 实现版本:3.6.1 debian - buildd - 2012-09-06 10:34:37 当前时间:2013 年 3 月 28 日星期四 14:13:45 PDT 服务器开始时间:2013 年 3 月 28 日星期四 13:41:30 PDT
我的数据-config.xml:
<dataConfig>
<dataSource type="JdbcDataSource"
driver="org.postgresql.Driver"
url="jdbc:postgresql://<ip>:<port>;databaseName=<myDB>"
user="<user>"
password="<password>"
readOnly="True"/>
<document>
<entity name="library" query="<query that works everywhere but via solr for 'id' and 'value'>">
<field column="id" name="id" />
<field column="value" name="title" />
</entity>
</document>
</dataConfig>
日志:
Mar 28, 2013 1:41:36 PM org.apache.solr.common.SolrException log
SEVERE: Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT id, value FROM pg_evergreen.metabib.title_field_entry Processing Document # 1
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:264)
at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:375)
at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:445)
at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:426)
Caused by: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT id, value FROM pg_evergreen.metabib.title_field_entry Processing Document # 1
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:621)
at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:327)
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:225)
... 3 more
Caused by: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT id, value FROM pg_evergreen.metabib.title_field_entry Processing Document # 1
at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:72)
at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:253)
at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:210)
at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:39)
at org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59)
at org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
at org.apache.solr.handler.dataimport.EntityProcessorWrapper.pullRow(EntityProcessorWrapper.java:330)
at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:296)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:683)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:619)
... 5 more
Caused by: java.lang.NullPointerException
at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:241)
... 13 more
Mar 28, 2013 1:41:36 PM org.apache.solr.update.DirectUpdateHandler2 rollback
INFO: start rollback
Mar 28, 2013 1:41:36 PM org.apache.solr.update.DirectUpdateHandler2 rollback
INFO: end_rollback
我试过了:
- data-config.xml 中的 batchSize(从 -1 到 1000)、readTimeout(从 60000 到 120000)和 ReadOnly 的变化
- 创建了许多以前会发出“警告”的文件和文件夹(如此处及以后所建议的)
- 确保查询在此实例之外有效,并且我的所有数据库信息都是准确的
- 搜索“'无法执行查询'数据导入”时,谷歌搜索并尝试了前 3 页中的所有内容(这似乎有点帮助)
- 重新安装并重新校准了几次 solr,尝试使用 jetty 和 jboss 以及各种版本的 solr 运行
关于为什么 dataimport 无法执行我的查询的任何想法?