Как добавить связанные данные в модельный индекс стога сена? - PullRequest
1 голос
/ 20 февраля 2011

Я добавил поиск в стоге сена в свое молодое приложение django и сумел создать индекс для модели, используя функцию шаблона. По какой-то причине у меня возникают проблемы с добавлением связанных данных в этот индекс шаблона. Я пытаюсь следующее:

{{object.name}}
{% for tag in object.tags.all %}
{{tag.name}}
{% endfor %}

Индексы добавляются правильно, и я получаю результаты поиска по свойству object.name, но не по связанным тегам. Я проверил правильность отношений, используя ту же структуру шаблона в обычном шаблоне страницы и убедившись, что значения tag.name выводятся на экран.

Как мне отладить создание индекса? В данный момент я использую простой бэкэнд поиска, поэтому считаю, что индекс существует в памяти.

Вот мой search_indexes.py

from data.models import VendingMachine
from haystack.indexes import *
from haystack import site


class VendingMachineIndex(SearchIndex):
    text = CharField(document=True, use_template=True)

site.register(VendingMachine, VendingMachineIndex)

И этот файл называется vendingmachine_text.txt и находится в шаблонах / search / indexes / data /, где data - это имя приложения.

1 Ответ

1 голос
/ 21 февраля 2011

Мне кажется, проблема в «простом» поисковом бэкенде. Он новый и хорош только для фальсификации поисковых функций. Попробуйте со свистом, щавелем или ксиапианом.

Я смотрел на haystack/backends/simple.py. Этот бэкэнд основан на ORM и не имеет поискового индекса в памяти. Будет работать только поиск по полям модели.

...