Изменение схемы Solr без потери данных и без использования динамических полей

Я хочу сделать все это:

  1. Я хочу добавить больше полей в ту же схему Солра для индекса моего нового документа.
  2. Я не хочу терять свои старые индексы, хранящиеся в тех же Осколках Солра.

Я не знаю решения для этого соблюдения следующих ограничений:

  1. Я не хочу использовать динамические поля, так как я не хочу, чтобы в индексированных документах были поля, о которых я не знаю (потому что индекс также может быть опубликован другими пользователями Solr, и я хочу ограничить, какие поля они могут добавлять).

Есть ли решение? Если да, то каково решение.

2 ответа

Решение

Да, ты можешь сделать это. Просто добавьте новые поля в схему (не обязательно динамические) и индексируйте новый документ в Solr. Как упомянула Андреа, в старых документах не будет вновь вставленных полей.

ПРИМЕЧАНИЕ. Не делайте вновь добавленные поля как "required = true", которые повредят существующий индекс.

Хотя это не обычно (потому что полный переиндекс более уместен в этих случаях)

  • если вам не нужно изменять существующие атрибуты
  • если вы хотите добавить новые атрибуты

Вы можете сделать это без переиндексации старого контента. Конечно, у существующих документов не будет этих новых полей. Если вы согласны с этим, вам не нужно переиндексировать.

Динамические поля не являются обязательными, поэтому вам не нужно использовать их, если они вам не нужны, но, возможно, я не получил "ограниченную" часть вопроса.

Другие вопросы по тегам