Solr Search не возвращает ожидаемые результаты в Django с помощью Haystack

Я работаю над проектом Django, используя Haystack для поиска с Solr в качестве бэкенда. Я все настроил, но когда я выполняю поиск, результаты не возвращаются, как ожидалось.

Описание проблемы:

У меня есть представление поиска, которое запрашивает продукты в Solr на основе поискового запроса. Хотя поисковый запрос выполняется без ошибок, возвращаемые результаты не содержат никаких продуктов, хотя я убедился, что продукты существуют в базе данных.

views.py:

from haystack import indexes
from haystack.query import SearchQuerySet
from django.shortcuts import render

def search_view(request):
    query = request.GET.get('q')
    results = SearchQuerySet().filter(content=query) if query else []
    print(f"Search Query: {query}, Results: {results}")

    context = {
        'results':results,
        'query':query,
    }
    return render(request, 'core/search.html', context)

Search_indexes.py:

from haystack import indexes
from core.models import *

class Solr_Model_Index (indexes.SearchIndex, indexes.Indexable):
    text = indexes.CharField(document=True, use_template=True)

    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.all()

Взятые шаги:

  1. Перестройте индекс: Я выполнил python manage.py rebuild_index, чтобы убедиться, что все продукты проиндексированы.
  2. Проверил интерфейс администратора Solr: Я подтвердил, что продукты видны в Solr на вкладке "Документы".
  3. Отладка: Добавил операторы печати в представление поиска для проверки запроса и результатов.

Текущий выход:

Search Query: macbook, Results: <SearchQuerySet: query=<haystack.backends.solr_backend.SolrSearchQuery object at 0x0000029EE2DBBE60>, using=None>

Вопросы:

  1. Почему результаты поиска пустые, несмотря на наличие проиндексированных товаров?
  2. Есть ли какие-либо дополнительные настройки Solr или Haystack для обеспечения правильной индексации и поиска?

Любые рекомендации или соображения были бы очень признательны!

Вернуться на верх