1

我刚从 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>
4

0 回答 0