Przeszedłem przez dokumenty, a nawet stworzyłem kilka końcowych wyników wyszukiwania, ale nadal jestem bardzo zdezorientowany tym, co te rzeczy robią w stogu siana. szukaj powrotem koniec przeszukiwania pola można umieścić w swojej klasie, która dziedziczy indexes.SearchIndex, indexes.Indexable lub jest tylny koniec przeszukiwania tekstu wewnątrz szablonu? czy ktoś może mi to wyjaśnić?Django Haystack: odpowiedzialność za indeksy szablonów i modeli
w Django stóg_siana zostanie utworzona klasa, która definiuje, które pola powinny być sprawdzane (dobrze to rozumiem):
class ProductIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
name = indexes.CharField(model_attr='title', boost=1.75)
description = indexes.CharField(model_attr='description')
short_description = indexes.CharField(model_attr='short_description')
def get_model(self):
return Product
def index_queryset(self, using=None):
"""Used when the entire index for model is updated."""
return self.get_model().objects.filter(active=True,
published_at__lte=datetime.now())
Utworzysz również szablon txt tha t coś zrobi - nie jestem pewien co. Wiem, że backend wyszukiwania przejdzie przez ten szablon podczas algorytmu wyszukiwania.
{{ object.name }}
{{ object.description }}
{{ object.short_description }}
{% for related in object.related %}
{{ related.name }}
{{ related.description }}
{% endfor %}
{% for category in object.categories.all %}
{% if category.active %}
{{ category.name }}
{% endif %}
{% endfor %}
Jak widać szablon ma pewne pola, które moja klasa indeksu nie ma, jednak będą one poszukiwane przez backend wyszukiwania. Dlaczego więc mają pola w indeksie? Co to jest rola klasy indeksu i szablon indeksu? Czy ktoś może mi to wyjaśnić.
Nie jestem pewien, czy całkowicie cię rozumiem. Czy możesz dodać przykład (najlepiej w kodzie) takiego backendu i wyjaśnić szczegółowo, co dokładnie wprowadza Cię w błąd? Pytasz, w jaki sposób Haystack działa w tle, czy ogólnie nie wiesz, jak korzystać z niektórych funkcji? – yuvi
Zrobiłem, co mogłem, Yuvi. Jestem po prostu bardzo zdezorientowany, co dokładnie jest celem na rolkach klasy indeksu i szablonu indeksu oraz tego, co jest przeszukiwane przez backend. – user2734679
To jest o wiele jaśniejsze. Nie jestem pewien, czy mogę ci pomóc, ale teraz pytanie jest o wiele lepsze. Mam nadzieję, że niedługo pojawią się ninja stogu siana! – yuvi