Django-sphinx со стороны angular, как?

Привет. Делаю интернет-магазин, нужен поиск, решил использовать sphinx. Появился аопрос как использовать его вместе с angular, то есть сама суть понятна, ясно что надо посылать параметры поиска через POST в angular, а на стороне сервера обрабатывать и генерировать json, но как это реализовать, не совсем понятно. Есть у кого-нибудь опыт в подобном? Для сериализации данных использую django-rest-framework
  • Вопрос задан
  • 221 просмотр
Решения вопроса 1
Из ангуляра отправляешь параметры поиска, либо в какой-то отдельный сервис в дрф, либо просто как query-params к какому-либо ресурсу. Обрабатываешь эти параметры, делаешь запрос в сфинкс, получаешь ответ, например в виде списка id. Отдаешь эти айдишники в queryset.
class ProductViewSet(viewsets.ReadOnlyModelViewSet):
    # queryset = Product.objects.filter(is_active=True)

    def get_queryset(self):
        queryset = Product.objects.filter(is_active=True)
        attributes = self.request.query_params.get('attributes', None)
        # if attributes is not None:
        #     custom logic of search 
        #     list_of_ids = [...]
        #     queryset.filter(id__in=list_of_ids)
        return queryset


Можно еще через django-filter,  через MethodFilter
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
вообще и Постгре можете освоить, для небольшого среднего ИМ хорошая замена сфинксу

а так - в чем сложность? Ясон генерите так же, как будто берете из базы, в Сфинксе так точно еще в базу обращаться нужно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы