我必须将一些 mdb 文件导入到 solr。一些 mdb 文件被很好地索引为文档,但还有一些文件没有。我使用 Solr 4.10.0 和ucanaccess 版本。2.0.9 以下是日志中的屏幕截图:
对于一些缺失的字段值(在屏幕截图案例 6 字段中),我已onError="continue"
在 dataimport-config 中设置:
<document>
<entity name="Book" dataSource="a" query="select bkid AS id, bkid AS BookID,bk AS BookTitle, betaka AS BookInfo, cat as cat from 0bok WHERE bkid = 29435">
<field column="id" name="id"/>
<field column="BookID" name="BookID"/>
<field column="BookTitle" name="BookTitle"/>
<field column="cat" name="cat"/>
<entity name="Category" dataSource="a" query="select name as CatName, catord as CatWeight, Lvl as CatLevel from 0cat where id = ${Book.CAT}">
<field column="CatName" name="CatName"/>
<field column="CatWeight" name="CatWeight"/>
<field column="CatLevel" name="CatLevel"/>
</entity>
<entity name="Pages" dataSource="a1" onError="continue" query="SELECT nass AS PageContent, page AS PageNum FROM book ORDER BY page">
<field column="PageContent" name="PageContent"/>
<field column="PageNum" name="PageNum"/>
<entity name="Titles" dataSource="a1" onError="continue" query="SELECT * FROM title WHERE id = ${Pages.PAGENUM} ORDER BY sub">
<field column="ID" name="TitleID"/>
<field column="TIT" name="PageTitle"/>
<field column="SUB" name="TitleWeight"/>
<field column="LVL" name="TitleLevel"/>
</entity>
</entity>
</entity>
</document>
这是数据库中包含 6 个未定义数据字段的表的屏幕截图:
在此 mdb 文件的数据导入结束时,我得到以下响应:
最后更新:09:12:04 请求:31,952,获取:78,980,已跳过:0,已处理:0 开始:18 分钟前
显示 0 已处理!
还有其他 mdb 文件正在进行,即在响应中生成了 1 个已处理但我在日志中得到以下错误:
2014 年 10 月 7 日上午 9:28:08 错误 SolrWriter 异常,而 solr 提交。
这位作家遇到了 OutOfMemoryError;不能承诺...
和
SolrIndexWriter 错误关闭 IndexWriter 这个作家命中
内存不足错误;不能冲...
我该如何解决这个问题?为什么 Solr 请求并获取所有这些记录,然后处理和索引没有?!