2017-02-14 25 views
0

Мне нужно создать новое поле в моей базе данных Solr.Обновление поля Solr на основе другого поля

Мои данные как: { ID: "что-то", name_s: "некоторые имя" }

Я хочу, чтобы добавить новое поле name_t.

Проблема заключается в том, я хочу, чтобы обновить новое поле name_t со значением name_s. И я хочу сделать это с все мои документы по сборке.

Я ожидал найти что-то вроде этого: {ID: "ххх", name_t: {добавить: $ name_s}}

Есть ли способ сделать это?

Спасибо!

ответ

1

, если у вас есть все ваши поля с хранящимися/docValues ​​на, то это будет работать:

  1. добавить copyField для name_t, как

    <copyField source="name_s" dest="name_t"/>

    Конечно, вам нужно имеют динамический тип * _t или поле и т. д.

  2. использовать cursorMark, чтобы эффективно и эффективно обрабатывать все документы
  3. для каждого документа, запустите reindex с помощью atomic update, обновив некоторое поле до того же значения тока. Я думаю, что может быть способ вызвать его также, не отправив op, но не уверен в деталях.

 Смежные вопросы

  • Нет связанных вопросов^_^