【发布时间】:2014-03-23 12:25:00
【问题描述】:
我正在使用 solr 并索引 DB 中的数据。 当我使用 SQL 查询导入数据时,我得到了一些具有相同键的行。 我需要一种让 solr 生成具有唯一键的新字段的方法。 我怎样才能做到这一点? 谢谢
【问题讨论】:
我正在使用 solr 并索引 DB 中的数据。 当我使用 SQL 查询导入数据时,我得到了一些具有相同键的行。 我需要一种让 solr 生成具有唯一键的新字段的方法。 我怎样才能做到这一点? 谢谢
【问题讨论】:
我不确定这是否可能,但也许你需要在这里重新考虑你的逻辑......
Solr 中的索引操作应该是可重新运行的。所以,想象一下你有一天来决定改变你的核心架构。
如果每次导入文档时都生成一个新密钥,那么在重新运行数据导入时最终会创建重复项。
也许您需要重新访问您的数据库设计以获得唯一键,或者也许在选择查询中,您可以创建基于多列计算的派生或计算列值。但我确信将这个问题推给 solr 并不是解决方案。
【讨论】:
理想情况下,唯一键应该来自数据库(您确定不能通过组合一些列等方式获得一个吗?)。
但是,如果您不能,Solr 支持为此生成 UUID,请查看 here 以了解它是如何工作的,具体取决于您的 solr 版本
【讨论】: