solr DIH delta 导入中的 pk 是什么?我正在尝试对 solr 中的多个字段进行增量索引?
问问题
603 次
3 回答
0
我相信它是您在 schema.xml 文件中指定为 id 字段的任何字段。
于 2013-01-18T16:16:57.583 回答
0
它是 Solr 字段的名称,用作该记录的唯一键。您定义源到该 Solr 列的映射,然后 - 在映射之后 - Solr 根据您指定的 pk 字段检查它的存在和值。
它与 primaryKey 不同,因为您可能正在生成 primaryKey 或者它可能不适合。但它可能是一样的。我认为最清晰的 Wiki 解释可能在HttpDataSource 的示例中。
我相信,当您将内部源条目展平为一个 Solr 条目时,您也可以定义一个复合 pk。
于 2013-01-18T16:17:56.657 回答
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”,因为它们在增量导入期间被临时存储和使用,并且不需要永久存储在索引中。
于 2013-01-21T04:07:23.990 回答