Solr MultiValue Fields и добавление значений - PullRequest
1 голос
/ 18 октября 2011

Я создаю поисковую систему, и у меня не такой уникальный идентификатор для множества разных имен ... Так, например, может быть идентификатор B0051QVF7A, который будет иметь несколько имен, таких как "Kindle", Amazon Kindle. "" Amazon Kindle 3G "" Kindle Ebook Reader "" Новый Kindle "и т. Д.

Проблема и вопрос, который у меня возникает, заключается в том, что я пытаюсь ввести эти данные из БД из 11 миллионов строк. каждый читается по одному. Так что у меня нет всех имен каждого удостоверения личности. Я добавляю новые документы в список каждый раз.

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

Я знаю, что это может вызвать некоторые странные и замечательные "проблемы", если имя будет удалено (в приведенном выше примере, "Новый Kindle" может быть удален, когда выйдет новый Kindle), но я думаю о том, чтобы воссоздавать индекс каждый сейчас и снова, чтобы устранить подобные проблемы (раз в месяц или около того. На создание индекса в настоящее время уходит около 45 минут).

Итак, как добавить значение в многозначное поле в solr для существующего документа?

1 Ответ

1 голос
/ 18 октября 2011

Поскольку в соответствии с вопросом, связанным с комментарием @Mauricio Scheffer ... Solr в настоящее время не поддерживает обновление значения одного поля в существующем документе.Я вижу, что здесь может быть несколько вариантов ...

  1. В вашем процессе, который извлекает данные из базы данных, когда он находит новое имя, ему нужно будет извлечь все поля длясуществующего документа от Solr, добавьте новое значение и повторно отправьте весь документ в Solr (вы, возможно, уже делаете это).
  2. Добавьте некоторую дополнительную логику в ваш код, который читает из базы данных, чтобы собрать все уникальныеимена для каждого документа до вставки документов в указатель.Однако, учитывая, что у вас есть ~ 11 миллионов записей, может быть ограничение ресурсов, которое не позволит сделать это возможным.
...