Индексировать документы в 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 может индексировать один и тот же документ несколько раз, создавая дубликаты документов в индексе, что вообще нежелательно. Надеюсь это поможет:)