将solr id从string更改为uuid

时间:2014-03-20 22:30:05

标签: solr indexing uuid

我是solr的新手。

最初,我的solr架构中的“id”类型为 string

我有30,000个文档,但现在我想使用 uuid 而不是字符串。

只需将ID更改为uuid并按照http://wiki.apache.org/solr/UniqueKey

中的说明操作即可

它没有用,因为它试图将id作为uuid串起来而且失败了。

我的问题是如何在不删除任何数据的情况下将我的ID更改为uuid?

任何有关此信息都会有所帮助。

1 个答案:

答案 0 :(得分:1)

希望您的 id 字段在schema.xml中被称为uniqueKey。这意味着Solr实例中的每个solr文档都必须包含id字段。当您修改架构中任何字段的类型时,先前为这些字段创建的索引会搞乱。现在您无法查询这些字段,但它们仍然存在于您的Solr实例中。

如果您无法查询数据,那么您索引查询有什么用?因此,在您的Solr中保留旧文档是没有用的,您无法查询。这次你修改了 uniqueKey 字段。所以,你必须重新索引。如果你想修改除uniqueKey之外的其他字段的类型,那么原子更新或部分更新就是一个解决方案。