1
我有mdb数据库文件,我尝试将它导入到Solr。数据库文件有超过6000条记录,但它只索引Solr中的10条记录:从mdb索引Solr dataimport只有前10条记录
索引完成。新增/更新:10个文件。删除了0个文件。 (持续时间:03秒)
的日志输出才刚刚警告:
9/26/2014 4:36:52 PM
WARN
ManagedResource
No stored data found for /rest/managed
9/26/2014 4:36:52 PM
WARN
ManagedResource
No stored data found for /rest/managed
9/26/2014 4:36:52 PM
WARN
ManagedResource
No registered observers for /rest/managed
9/26/2014 4:36:52 PM
WARN
ManagedResource
No registered observers for /rest/managed
9/26/2014 4:37:07 PM
WARN
Index
unsupported collating sort order SortOrder[1025(0)] for text index, making read-only
9/26/2014 4:37:08 PM
WARN
Index
unsupported collating sort order SortOrder[1025(0)] for text index, making read-only
9/26/2014 4:37:10 PM
WARN
Index
unsupported data type BINARY for index, making read-only
我用solrconfig.xml中的以下内容:
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">C:\solr-4.9.0\example\solr\fox\conf\data-config.xml</str>
</lst>
</requestHandler>
而这数据 - config.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource driver="net.ucanaccess.jdbc.UcanaccessDriver" type="JdbcDataSource" url="jdbc:ucanaccess://C:/feqh/main.mdb;memory=false" />
<document>
<entity name="Book"
query="select bkid AS id, bkid AS BookID,bk AS BookTitle from 0bok">
<field column="id" name="id"/>
<field column="BookID" name="BookID"/>
<field column="BookTitle" name="BookTitle"/>
</entity>
</document>
</dataConfig>
我使用UCanAccess驱动程序,因为我有Java8和jdbc-odbc驱动程序不支持(sun.jdbc.odbc.JdbcOdbcDriver)我认为这可能是由于内存限制,所以我设置memory=false
让它写在磁盘上。有什么解决方案或建议吗?
尝试设置一个小的独立Java应用程序,该应用程序通过UCanAccess连接到.mdb文件,执行SQL查询并循环遍历ResultSet来计数行。通过这种方式,您可以确认UCanAccess是否可以实际“查看”超过10条记录。 (之前有报道称,由于Access文件的元数据中存在一些细微的损坏,UCanAccess无法查看表中的所有行。对Access中的.mdb文件执行压缩和修复通常足以解决问题。 ) – 2014-09-26 15:28:41
@GordThompson为了应用您的建议,我安装了几年前(Office 2000)的旧版Microsoft Office,并试图使用Access 2000打开该文件,并且我发现Access 2000告诉我mdb文件是在旧版本中创建的,它告诉我将其转换为当前版本!在Access之前,我使用MDB Viewer Plus打开了这个文件,我发现Access显示的列数多于它显示的数量。现在Access 2000不能转换文件。有什么建议吗? – SaidbakR 2014-09-26 17:40:02
你如何触发导入?可能通过管理GUI?如果是这样,你是否清除了“开始,行”中的值?这是一个常见的错误:) – cheffe 2014-09-26 17:59:55