Описание проблемы
У меня есть представление поиска, которое запрашивает 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)
Код: Выделить всё
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()
- Перестроил индекс: я запустил python Manage.py rebuild_index , чтобы убедиться, что все продукты проиндексированы.
- Проверил интерфейс администратора Solr: я подтвердил, что продукты видны в Solr на вкладке «Документы».
- Отладка: добавлены инструкции печати в представление поиска для проверки запроса и результатов.
Код: Выделить всё
Search Query: macbook, Results:
[*]Почему результаты поиска пусты, хотя товары проиндексированы?< /li>
Есть ли какие-либо дополнительные настройки, которые мне могут понадобиться в Solr или Haystack для обеспечения правильного индексирования и поиска?
Будем очень признательны за любые рекомендации или идеи!
Подробнее здесь: https://stackoverflow.com/questions/790 ... h-haystack