0

我正在尝试通过 /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 无法执行我的查询的任何想法?

4

1 回答 1

1

正如arun所建议的,我将我的 URL 语法更改为url="jdbc:postgresql://<IP>:<PORT>/<DATABASE>并且它有效!

于 2013-03-29T16:34:08.007 回答