KeyError: 'id' при попытке проиндексировать документы в Solr с помощью sunburnt
Я пытаюсь проиндексировать несколько текстовых файлов в Solr, используя Sunburnt. Ниже мой код
solr_url = "http://localhost:8983/solr"
h = httplib2.Http(cache="/var/tmp/solr_cache")
solr_instance = sunburnt.SolrInterface(url=solr_url, http_connection=h)
for url,title, webpage in webpages:
html_id = hashlib.md5(url).hexdigest()
doc = {"id":html_id, "content":webpage, "title":title}
solr_instance.add(doc)
try:
solr_instance.commit()
except:
print "Could not Commit Changes to Solr, check the log files."
else:
print "Successfully committed changes"
Но когда я запускаю это, я получаю ошибку ниже.
File "/Users/ananya/Desktop/dbms project/code/extractText/ExtractText.py", line 94, in index_to_Solr
solr_instance = sunburnt.SolrInterface(url=solr_url, http_connection=h)
File "/Users/ananya/anaconda/lib/python2.7/site-packages/sunburnt/sunburnt.py", line 166, in __init__
self.init_schema()
File "/Users/ananya/anaconda/lib/python2.7/site-packages/sunburnt/sunburnt.py", line 177, in init_schema
self.schema = SolrSchema(schemadoc, format=self.format)
File "/Users/ananya/anaconda/lib/python2.7/site-packages/sunburnt/schema.py", line 417, in __init__
if self.unique_key else None
KeyError: 'id'
Я очень новичок в Solr. Пожалуйста, помогите мне. Нужно ли вносить какие-либо изменения в файл схемы? Если да, пожалуйста, дайте мне знать, как.
Благодарю.
1 ответ
Решение
Если вы используете Solr 4.8 или выше, это ошибка против загара 0.6.
У вилки загорелых арафалов есть патч, который исправил это для меня.
Пытаться:
git clone git@github.com:arafalov/sunburnt.git
cd sunburnt
python setup.py install # optionally with --user