DIHを使用してsolrコアから別のコアに単一の列をインポートしようとしています。 Solrのバージョンは6.4.0Solr:他のsolrコアからインポート中に重複レコードを避ける
私の管理スキーマファイルには、次のエントリがありますされています
<uniqueKey>journal</uniqueKey>
<field name="journal" type="text_general" multiValued="false" indexed="true" stored="true" />
<field name="fjournal" type="string" indexed="true" stored="false"/>
とも以下のようなものcopyField設定:solrconfig.xmlで
<copyField source="journal" dest="fjournal" />
、私が設定さ次の要素:
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />
<requestHandler>
<lst name="defaults">
<str name="config">solr-data-config.xml</str>
</lst>
</requestHandler>
<updateRequestProcessorChain>
<processor class="solr.UniqFieldsUpdateProcessorFactory">
<str name="fieldName">journal</str>
</processor>
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
また、以下のファイルは "solr-data-config.xml" "
インポートプロセスを実行すると、インポート後の値はまだ複製された値を保持します。
{ "journal":"Journal of Immunology",
"_version_":1559554209274134528,
"fjournal":"Journal of Immunology"},
{
"journal":"Journal of Immunology",
"_version_":1559554209373749248,
"fjournal":"Journal of Immunology"},
{
"journal":"Journal of Immunology",
"_version_":1559554209375846400,
"fjournal":"Journal of Immunology"},
どうすればこのようなことが起こらないようにすることができますか?私はローカルのコアから別のコアにデータをインポートしています。
本当にありがとうございます。
を必要とする理由UNIQUEKEY-フィールドのTextFieldを使用しないでください知っているだろう - UNIQUEKEYのための文字列フィールドを使用しようとすると、代わりにそれをテキストフィールドにコピーします。 UniqFieldsUpdateProcessorは、ドキュメント間ではなく、現在のドキュメント内の複数値フィールド内の値でも機能します。 – MatsLindh
こんにちはMatsLind、情報ありがとうございます。私はあなたの与えられた提案を試してみる –