从mysql导入多字段索引的DIH delta



solr DIH delta导入中的pk是什么?我正在尝试对solr中的多个字段进行增量索引?

我相信它是您在schema.xml文件中指定的任何字段作为id字段。

它是Solr字段的名称,用作该记录的唯一键。您定义了源到Solr列的映射,然后在映射后,Solr根据您指定的pk字段检查其存在性和值。

它与primaryKey不同,因为您可能正在生成primaryKey,或者它可能不适合。但也可能是一样的。我认为最清晰的Wiki解释可能在HttpDataSource的例子中。

我相信,当你将内部源条目扁平化为一个Solr条目时,你也可以定义一个复合pk。

我认为问题出在子实体的delta查询中。你已经付出了,

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"字段,并在子实体的delta查询中使用该字段。

我还认为,不需要在架构文件中具有子实体的"pk",因为它们在增量导入期间临时存储和使用,不需要永久存储在索引中。

最新更新