2015-09-30 100 views
3

我收到問題與「提高BulkIndexError同時運行這條巨蟒manage.py rebuild_indexDjango的草垛彈性搜索 - 提高BulkIndexError

這裏是settings.py文件我草垛配置

HAYSTACK_CONNECTIONS = { 
'default': { 
    'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine', 
    'URL': 'http://127.0.0.1:9200/', 
    'INDEX_NAME': 'haystack', 
    #'SILENTLY_FAIL': False, 
}, 

}?

HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'

這裏是我的search_indexes.py

class ProductIndex(indexes.SearchIndex, indexes.Indexable): 
text = indexes.CharField(document=True, use_template=True) 
content_auto = indexes.EdgeNgramField(model_attr='title') 

def get_model(self): 
    return Product 

def index_queryset(self, using=None): 
    return self.get_model().objects.all() 

這裏是我的views.py

def search_titles(): 

products = SearchQuerySet().autocomplete(content_auto=request.POST.get('search_text', '')) 

return render_to_response('sea.html', {'products':products}) 

當我嘗試索引我的產品型號我跑這個命令

python manage.py rebuild_index

,它沒有索引。它引發了

File "/home/Documents/swamy/project/env/local/lib/python2.7/site-packages/elasticsearch/helpers/init.py", line 156, in streaming_bulk raise BulkIndexError('%i document(s) failed to index.' % len(errors), errors) elasticsearch.helpers.BulkIndexError: ('500 document(s) failed to index.'

這個錯誤。

我的模特有21000個產品,任何一款都可以幫助解決這個問題嗎? 在此先感謝!

+0

你還在Elasticsearch日誌中有堆棧跟蹤嗎?如果是,請顯示。 – Val

+0

文件「.../env_project/local/lib/python2.7/site-packages/elasticsearch/helpers/__ init__.py」,第156行,在streaming_bulk中 raise BulkIndexError('%i document(s)failed to index 。'%len(errors),errors) elasticsearch.helpers.BulkIndexError:('500文件無法索引。',',這是我的錯誤追溯 –

+0

那些是你的python日誌。從Elasticsearch服務器 – Val

回答

0

Elasticsearch改變了批量指數的創建方式。 您可以使用與django-haystack無縫協作的版本1.4.0。

+0

我試過了,但它對我不起作用 –