Solr的架构更改不会丢失数据而不使用动态字段

时间:2017-08-01 05:21:09

标签: security indexing solr lucene updating

我想这样做:

  1. 我想在我的新文档索引的同一个Solr模式中添加更多字段。
  2. 我不想丢失存储在同一Solr Shards中的旧索引。
  3. 我不知道解决这个问题的方法如下:

    1. 我不想使用动态字段,因为我不希望任何索引文档应该包含我不知道的字段(因为索引也可以由其他Solr用户发布,我想要限制什么他们可以添加的字段)。
    2. 有什么解决方案吗?如果是,那么解决方案是什么。

2 个答案:

答案 0 :(得分:1)

虽然不常见(因为在这些情况下完全重新索引更合适)

  • 如果您不必修改现有属性
  • 如果您想添加新属性

您可以在不重新索引旧内容的情况下执行此操作。当然:现有的文件不会有这些新领域。如果您对此感到满意,那么您不必重新编制索引。

动态字段不是强制性的,因此如果您不需要,则不必使用,但也许我没有得到"约束"问题的一部分。

答案 1 :(得分:1)

是的,你可以做到。只需在模式中添加新字段(不一定是动态的),并将新文档索引到Solr。正如Andrea所提到的那样,旧文件不会有新插入的字段。

注意:不要将新添加的字段设为“required = true”,否则会损坏现有索引。