есть ли возможность обновить новое поле в существующем документе? Например: Существует документ с несколькими полями, например
ID=99999
Field1:text
Field2:text
Этот документ уже находится в индексе, теперь я хочу вставить новое поле в этот документ БЕЗ старых данных:
ID=99999
Field3:text
Теперь старый документ будет удален, и будет создан новый документ с идентификатором. Поэтому, если я теперь ищу ID 99999, результат будет:
ID=99999
Field3:text
Я читал об этом в Solr Wiki
Как обновить конкретное поле существующего документа?
Я хочу обновить определенное поле в документе, возможно ли это? Мне нужно только индексировать одно поле для > конкретного документа. Нужно ли индексировать весь документ для этого?
Нет, только один документ. Скажем, у вас есть CMS, и вы редактируете один документ. Вам нужно будет переиндексировать этот документ только с помощью инструкции add solr для всего документа (не только для одного поля).
В Lucene для обновления документа операция действительно является удалением, за которым следует добавление. Вам понадобится > , чтобы добавить полный документ, поскольку в Lucene нет семантики "обновлять только поле".
Так есть ли решение для этого? Будет ли эта функция реализована в следующей версии (в настоящее время я использую 3.6.0). В качестве обходного пути я подумал о написании script или приложения, которое будет собирать существующие поля, добавлять новое поле и обновлять весь документ. Но я думаю, что это пострадает от производительности. У вас есть другие идеи?
С наилучшими пожеланиями