5

私はヘイスタックをシューッという音で実装しようとしています。

すべてが正常に構成されているように見えますが、このエラーが発生し続けます。エラーが発生します:

haystack.exceptions.SearchBackendError: No fields were found in any search_indexes. Please correct this before attempting to search.

... ./manage.py rebuild_indexを実行しようとすると

構成:

HAYSTACK_SITECONF = 'myproject'
HAYSTACK_SEARCH_ENGINE = 'whoosh'
HAYSTACK_WHOOSH_PATH = cwd + '/whoosh/mysite_index'

プロジェクトのルート フォルダーにwhoosh/mysite_indexディレクトリが正常に作成されました。

*search_sites.py*

import haystack
haystack.autodiscover()

*search_indexes.py*

from haystack.indexes import *
from haystack import site
from myproject.models import *

class ResearchersIndex(SearchIndex):
    text = CharField(document=True, use_template=True)
    name = CharFIeld(model_attr='name')

class SubjectIndex(SearchIndex):
    short_name = CharField(model_attr='short_name')
    name = CharField(model_attr='name')
    text = CharField(document=True, use_template=True)

class ResearchIndex(SearchIndex):
    text = CharField(document=True, use_template=True)
    abstract = TextField(model_attr='abstract')
    methodology = TextField(model_attr='methodology')
    year = IntegerField(model_attr='year')
    name = CharField(model_attr='name')


class Graph(SearchIndex):
    text = CharField(document=True, use_template=True)
    explanation = TextField(model_attr='explanation')
    type = CharField(model_attr='type')
    name = CharField(model_attr='name')

site.register(Researchers, ResearchersIndex)
site.register(Subject, SubjectIndex)
site.register(Research, ResearchIndex)
site.register(Graph, GraphIndex)

ありがとう

4

2 に答える 2

1

問題はあなたにありますHAYSTACK_SITECONF。ファイルへのパスである必要がありsearch_sitesます。これを修正すると、動作するはずです。

于 2013-03-08T13:36:53.607 に答える
0

あなたがsettings.pyでsite_indexes.py登録したアプリにいることを確認してくださいINSTALLED_APPS

于 2018-05-31T14:40:03.840 に答える