Exemplo n.º 1
0
    def more_like_this(self, request):
        query = request.GET.get('q', '')
        exclude_id = request.GET.get('exclude_id')
        size = int(request.GET.get('size', settings.MAX_QUERIES))

        results, count = SearchBackend.more_like_this(query, exclude_id, size)
        return Response({'query': query, 'results': results, 'count': count})
Exemplo n.º 2
0
    def list(self, request):
        size = request.GET.get('size', 20)

        tags = SearchBackend.tag_search(size)
        tags['size'] = size

        return Response(tags)
Exemplo n.º 3
0
    def scroll(self, request):
        page_size = int(request.GET.get('page_size', MAX_SCROLL_SIZE))
        scroll_id = request.GET.get('scroll_id')

        if page_size > MAX_SCROLL_SIZE:
            page_size = MAX_SCROLL_SIZE

        results, scroll_id, count = SearchBackend.scroll(page_size, scroll_id)
        resp = {'results': results, 'count': count}

        if scroll_id:
            resp['scroll_id'] = scroll_id

        return Response(resp)
Exemplo n.º 4
0
 def status(self, request):
     return Response(SearchBackend.search_stats())
Exemplo n.º 5
0
    def list(self, request):
        query = request.GET.get('q', '')
        size = request.GET.get('size', settings.MAX_QUERIES)
        results, count = SearchBackend.search(query, size)

        return Response({'query': query, 'results': results, 'count': count})
Exemplo n.º 6
0
 def random(self, request):
     data, count = SearchBackend.random(request.GET.get('count', 3))
     return Response({'count': count, 'articles': data})
Exemplo n.º 7
0
 def retrieve(self, request, pk=None):
     return Response(SearchBackend.get_article(pk))