Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

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