1

Solr 3.4 から Solr 3.6 にアップグレードしたところです。data-import.xml両方のバージョンで同じものを使用しています。インポートは 3.4 で正常に機能しました。

ネストされたエンティティを使用して、各ドキュメントに関連付けられている作成者を取得しています。またCachedSqlEntityProcessor、DB に無理な回数ヒットするのを避けるために使用しています。ただし、インデックスを作成するとき、Solr のインデックス作成は非常に遅く、ドキュメントごとに DB 内のすべての作成者を取得しているように見えます。インデックスは 500 MB 以下にする必要があります。〜6ギガに達したとき、インデックス作成を中止しました。以下のネストされたエンティティをコメントアウトすると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