我刚从 Solr 3.4 升级到 Solr 3.6;我data-import.xml
对两个版本都使用相同的。导入在 3.4 中正常运行。
我正在使用嵌套实体来获取与每个文档关联的作者,并且我正在使用CachedSqlEntityProcessor
它来避免不合理地访问数据库。但是,在编制索引时,Solr 编制索引的速度非常慢,并且似乎正在为每个文档获取数据库中的所有作者。指数应为~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>