Search scrapy不将数据导出到弹性搜索
我想在ElasticSearch中为我的项目编制索引,我发现 但如果我试图对站点进行爬网,则会出现以下错误: 文件“/usr/lib/python2.7/dist packages/twisted/internet/defer.py”,第577行,在runCallbacks中 current.result=回调(current.result,*args,**kw) 文件“/usr/local/lib/python2.7/dist packages/scrapyelasticsearch/scrapyelasticsearch.py”,第70行,处理中项目 自索引项目(项目) 文件“/usr/local/lib/python2.7/dist packages/scrapyelasticsearch/scrapyelasticsearch.py”,第52行,在索引项中 local_id=hashlib.sha1(项[uniq_键]).hexdigest() 文件“/home/javed/.local/lib/python2.7/site packages/scrapy/item.py”,第50行,在getitem 返回self.\u值[键] exceptions.KeyError:“url”Search scrapy不将数据导出到弹性搜索,search,scrapy,elasticsearch,Search,Scrapy,elasticsearch,我想在ElasticSearch中为我的项目编制索引,我发现 但如果我试图对站点进行爬网,则会出现以下错误: 文件“/usr/lib/python2.7/dist packages/twisted/internet/defer.py”,第577行,在runCallbacks中 current.result=回调(current.result,*args,**kw) 文件“/usr/local/lib/python2.7/dist packages/scrapyelasticsearch/scra
既然你没有粘贴你的蜘蛛代码,我只能假设。 一个假设是您没有在项目中设置所需的字段。他们需要在
ELASTICSEARCH\u UNIQ\u KEY
中指定一个字段,并且该字段必须是唯一的。最简单的方法可能是使用url
:
# somewhere deep in your callback,
# where you create and yield your item
...
myitem['url'] = response.url
return myitem
并确保在设置.py中设置:
ELASTICSEARCH_UNIQ_KEY = 'url'
我只是在我的settings.py文件中对该字段进行了注释(根据需要,该字段是可选的)
#ELASTICSEARCH_UNIQ_KEY = 'url' # Custom unique key