haystack.Exceptions.SearchBackendError: Tidak ada bidang yang ditemukan di indeks_penelusuran mana pun. Harap perbaiki ini sebelum mencoba mencari

Saya mencoba mengimplementasikan Haystack dengan whoosh.

Saya terus mendapatkan kesalahan ini meskipun semuanya tampaknya sudah dikonfigurasi dengan baik. Saya mendapatkan kesalahan:

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

...ketika saya mencoba melakukan ./manage.py rebuild_index

konfigurasi:

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

Ada direktori whoosh/mysite_index yang berhasil dibuat di folder root proyek saya.

*situs_pencarian.py*

import haystack
haystack.autodiscover()

*indeks_penelusuran.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)

Terima kasih


person Tamara    schedule 07.03.2013    source sumber
comment
kamu juga yang membuat templatenya?   -  person anacarolinats    schedule 07.03.2013
comment
ya saya lakukan. Saya memiliki 4 file .txt di templates/search/indexes/myproject/ yang sesuai dengan setiap kelas. Saya juga telah menempelkan dari tutorial dari situs template untuk pencarian, search.html dan ditempatkan tepat di bawah direktori pencarian/.   -  person Tamara    schedule 07.03.2013
comment
versi tumpukan jerami apa yang kamu gunakan?   -  person anacarolinats    schedule 07.03.2013
comment
Saya menggunakan versi 1.2.7   -  person Tamara    schedule 07.03.2013
comment
HAYSTACK_SITECONF Anda apakah itu atau Anda ubah untuk diletakkan di sini?   -  person anacarolinats    schedule 07.03.2013
comment
tidak, itu dia. karena ketika saya memiliki proyeksaya.situs_pencarian dikatakan tidak ada modul bernama situs_pencarian.   -  person Tamara    schedule 07.03.2013
comment
jadi menurut saya masalahnya adalah search_sites tidak dipanggil.   -  person anacarolinats    schedule 08.03.2013
comment
ya, itu dia! silahkan tulis sebagai komentar agar saya dapat memilihnya sebagai jawaban, dan terima kasih banyak!   -  person Tamara    schedule 08.03.2013


Jawaban (2)


masalahnya ada di HAYSTACK_SITECONF Anda. Itu harus menjadi jalur ke file search_sites Anda. Perbaiki ini dan itu akan berhasil.

person anacarolinats    schedule 08.03.2013
comment
Ini bukan lagi jawaban yang tepat: jika Anda mencoba menggunakan HAYSTACK_SITECONF Anda mendapat pesan jangan lakukan itu. - person GreenAsJade; 11.12.2014
comment
Ini jawaban untuk versi terbaru bulan april 2013 - person anacarolinats; 15.12.2014

Pastikan site_indexes.py Anda ada di aplikasi yang telah Anda daftarkan di INSTALLED_APPS di settings.py

person chaggy    schedule 31.05.2018