From 956129a8041f34308f3ddfb15bcac58145a1af2b Mon Sep 17 00:00:00 2001 From: Eric Holscher Date: Sat, 26 Oct 2013 16:40:59 -0700 Subject: [PATCH] Stub out a search endpoint. --- readthedocs/restapi/views.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/readthedocs/restapi/views.py b/readthedocs/restapi/views.py index d44397d1a..ab8fa4e39 100644 --- a/readthedocs/restapi/views.py +++ b/readthedocs/restapi/views.py @@ -3,6 +3,7 @@ from django.template import Template, Context from django.conf import settings from distlib.version import UnsupportedVersionError +from elasticsearch import Elasticsearch from rest_framework import decorators from rest_framework import permissions from rest_framework import viewsets @@ -177,3 +178,18 @@ def quick_search(request): value = ':'.join(data.split(':')[6:]) ret_dict[key] = value return Response({"results": ret_dict}) + +@decorators.api_view(['GET']) +@decorators.permission_classes((permissions.AllowAny,)) +@decorators.renderer_classes((JSONRenderer, JSONPRenderer, BrowsableAPIRenderer)) +def search(request): + project_slug = request.GET.get('project', None) + version_slug = request.GET.get('version', 'latest') + query = request.GET.get('q', None) + es = Elasticsearch(settings.ES_HOSTS) + ret_dict = {} + results = es.query({'project': project_slug, 'version': version_slug, 'query': query}) + for result in results: + #ret_dict[result['key']] = result['url'] + pass + return Response({"results": ret_dict})