嘗試運行./manage.py build_solr_schema
Django的草堆:錯誤試圖建立Solr模式
NotImplementedError: Subclasses must provide a way to build their schema.
下面列舉一下我的兩個搜索索引的樣子時,我收到以下錯誤:
class BookSearchIndex (SearchIndex):
text = CharField(document=True, use_template=True)
title = CharField(model_attr='title_web', boost=1.125)
def index_queryset(self):
return Book.objects.active().filter(publish_level='published')
site.register(Book, BookSearchIndex)
class AuthorSearchIndex (SearchIndex):
text = CharField(document=True, use_template=True)
name = CharField(model_attr='name_display', boost=1.5)
def index_queryset(self):
return Author.objects.approved()
def prepare(self, obj):
data = super(AuthorSearchIndex, self).prepare(obj)
data['boost'] = 1.5
return data
site.register(Author, AuthorSearchIndex)
我m在本地運行並使用簡單的後端。創建作者索引後,我能夠運行build_solr_schema
。但是,當我設置書籍索引並試圖再次運行它時,我收到了錯誤。
的Django 1.4.2, 草堆1.2.7
任何想法?
的HAYSTACK_SITECONF和其他設置不再作爲Django的草垛2.0 –
我的回答包括它的意思爲乾草堆的版本 - 我忽略V2 B/C是在當時的β-馬車。不過值得注意的是,v2。+是它現在的地方,而且很多已經發生了變化。 –