我刚从Solr 3.4升级到Solr 3.6;我对两个版本使用相同的data-import.xml
。导入功能正常使用3.4。
我正在使用嵌套实体来获取与每个文档关联的作者,而我正在使用CachedSqlEntityProcessor
来避免在数据库中出现不合理的次数。但是,在索引时,Solr索引非常缓慢,并且似乎正在为每个文档获取DB中的所有作者。指数应为~500兆;当它达到~6gigs时,我中止了索引。如果我在下面注释掉嵌套的author
实体,Solr将正常编制索引。
我错过了一些明显的东西或者这是一个错误吗?
<document name="documents">
<entity name="document" dataSource="production"
transformer="HTMLStripTransformer,TemplateTransformer,RegexTransformer"
query="select id, ..., from document">
<field column="id" name="id"/>
<field column="uid" name="uid" template="DOC${document.id}"/>
<!-- more fields .. -->
<entity name="author" dataSource="production"
query="select
cast(da.document_id as text) as document_id,
a.id, a.name, a.signature from document_author da
left outer join author a on a.id = da.author_id"
cacheKey="document_id"
cacheLookup="document.id"
processor="CachedSqlEntityProcessor">
<field name="author_id" column="id" />
<field name="author" column="name" />
<field name="author_signature" column="signature" />
</entity>
</entity>
</document>