2015-08-20 2 views
0

Мы пытаемся кормить данных в Solr через следующие два способа: сервер на основе таблицыSolr Delta Import перезапись другие исходные данные

  1. SQL
  2. Генерировать информацию во время выполнения дополнительных столбцов и обновить их для ключа, указанного в 1 через solr Rest-API.

Но когда полный или дельта-импорт выполняется для столбцов данных sql, он удаляет данные, хранящиеся в дополнительных столбцах, которые не являются частью объекта sql. Я уже пробовал импорт только для данного объекта. Эти дополнительные столбцы не являются частью определения сущности в data-config.xml

ответ

0

Если я правильно понял ваш вопрос:
Когда вы вставляете документ в Solr/Lucene, единственное, на что оно смотрит, - это поле, которое у вас есть установить как uniqueKey в вашей схеме. Если вы попытаетесь добавить дополнительные атрибуты к существующему документу, Solr удалит существующий документ (который имеет этот уникальный идентификатор) и сохранит только те поля/атрибуты, которые вы предоставили в том документе, который был последним вставлен в индекс.

Есть функция в Solr, называемая частичными обновлениями, но в основном считывает текущие значения полей (так что все поля должны быть stored), а затем повторно вставлять их так, как если бы вы их предоставили. Думаю, это ваш лучший выбор.
Посмотрите here для получения дополнительной информации.

+0

Спасибо Marko за ответ, я ищу способ обновить выбранные столбцы только в документе, идентифицированном uniquekey, то есть выбрать, обновить, а не удалить, вставить. – Arvind

+0

Невозможно сделать это сейчас. Я использовал только частичные обновления. –

+0

Спасибо Марко, должен работать с частичными обновлениями – Arvind

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