Индексировать документы в Solr, используя загорелый

Я хочу проиндексировать несколько CSV-файлов в Solr и построить поисковую систему, используя Sunburnt для Solr,

from sunburnt import SolrInterface
si = sunburnt.SolrInterface("http://localhost:8985/solr/practice")

Я получаю ошибку:

Key error: id

Я использую Python 2.7.11, Solr - 6.1, загорелая 0,6

Я нашел такой же пост здесь в stackru, но у него был только один ответ, и его ссылка сейчас не работает.

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

1 ответ

Вы предоставляете идентификатор для вашего документа или нет? В Solr schema.xml, как правило, идентификатор определяется как уникальный ключ и является обязательным параметром. Обычно файлы CSV могут иметь или не иметь поле id внутри них. Если нет, с помощью DataImportHandler вы можете отправить файл с идентификатором. Но для быстрого решения проблемы зайдите в ваш schema.xml, найдите поле, объявленное как id.Удалить required=true параметр из этого поля. Также ищите uniqueKey тег, определенный в вашем schema.xml, обычно определяется в верхней части файла schema.xml. Удалите его полностью и попробуйте снова, перезапустив сервер. Если эта ошибка разрешится, вы можете потратить больше времени на изучение того, как отправить идентификатор в качестве параметра в ваши документы. Идентификатор документа необходим для его уникальной идентификации, в противном случае Solr может индексировать один и тот же документ несколько раз, создавая дубликаты документов в индексе, что вообще нежелательно. Надеюсь это поможет:)

Другие вопросы по тегам