我有mdb数据库文件,我尝试将其导入Solr。数据库文件有超过6000条记录,但它只索引Solr中的10条记录:
索引已完成。添加/更新:10个文档。删除了0个文件。 (持续时间:03s)
日志记录输出仅为警告:
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>
这在data-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
让它写在磁盘上。有没有解决方案或建议?
答案 0 :(得分:0)
自2.0.9版本以来,即使文件被“损坏”,UcanAccess也可以读取所有记录(我的意思是,表格的元数据中是否有错误的行号)。 此外,在这种损坏中,它会打印一个警告,确认您的数据库已损坏并建议使用修复工具。 因此,为了验证您的问题是否是由于元数据的“损坏”,您只需升级UCanAccess版本,然后查看日志。