2014-01-02 3 views
1

Я Juste изменил - мой тип подписи от Lookup3Signature к TextProfileSignature и - тип нескольких полей из строки в text_general , а затем, я перезагрузил Solr. Я хотел бы иметь старые документы solr с учетом этих изменений. Есть ли способ сделать это без необходимости переиндексации всего? Спасибообновление Solr документов после изменения schema.xml

ответ

5

Если вы измените схему, изменение повлияет только на индексированные новые документы. Вам потребуется переиндексировать, если вы хотите, чтобы новое определение имело место для старых данных.

:
+0

:(Так что нет решения для обновления тогда! – lizzie

+1

Есть функция «обновления». Если вы планируете обновлять поля в документах в Solr после их индексации (в отличие от повторной отправки полных документов из внешнего источника), то вам нужно будет сохранить все поля, чтобы у Solr была копия исходного содержимого для каждого поля. Вы можете обновить существующие документы в Solr, отправив новую версию документа. Но в отличие от базы данных, в которой вы можете обновить конкретную столбец в строке, с Solr вы должны обновить весь документ. Solr удаляет существующий документ и создает новый, это происходит независимо от того, изменяете ли вы одно поле или все поля. – Arun

+1

Так что в вашем случае лучше переиндексировать. «update» solr предназначен для переопределения определенного поля для нескольких документов, например, если вы хотите обновить цену продукта uct, но больше ничего не изменилось, вы отправляете id и цену, solr извлекает остальную часть полей из индекса, удаляет документ и повторно индексирует документ с новой ценой. – Arun

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