0

solr DIHデルタインポートのpkとは何ですか? solr で複数のフィールドのデルタ インデックスを作成しようとしていますか?

4

3 に答える 3

0

schema.xml ファイルで id フィールドとして指定したフィールドは何でもよいと思います。

于 2013-01-18T16:16:57.583 に答える
0

問題は、子エンティティのデルタクエリにあると思います。あなたが与えた、

deltaQuery="select id from cc_gadget_lang where '${cc_gadget.last_modified_date}' > '${dataimporter.last_index_time}'"

上記のクエリの where 条件は常に TRUE に検証されると思いますが、それを行う特定の目的はありません。

私が提案する解決策は、データベースの「cc_gadget_lang」テーブルに別の「last_modified_date」フィールドを用意し、それを子エンティティのデルタ クエリで使用することです。

また、スキーマ ファイルに子エンティティの "pk" を含める必要はないと考えています。これは、デルタ インポート中に一時的に格納および使用され、Index に永続的に格納する必要がないためです。

于 2013-01-21T04:07:23.990 に答える
0

そのレコードの一意のキーとなる Solr フィールドの名前です。その Solr 列へのソースのマッピングを定義すると、マッピング後、Solr は指定した pk フィールドに基づいてその存在と値をチェックします。

primaryKey を生成している可能性があるか、何らかの理由で適切でない可能性があるため、primaryKey とは異なります。しかし、それは同じかもしれません。Wiki の最も明確な説明は、 HttpDataSource の例にあると思います。

内部ソース エントリを 1 つの Solr エントリにフラット化するときに、複合 pk を定義することもできると思います。

于 2013-01-18T16:17:56.657 に答える