added autocomplete to backend

This commit is contained in:
Jonas Winkler
2020-10-27 17:07:13 +01:00
parent fb0ad94a9c
commit 653edc1fdc
3 changed files with 41 additions and 1 deletions

View File

@@ -151,7 +151,11 @@ class LogViewSet(ReadOnlyModelViewSet):
class SearchView(APIView):
permission_classes = (IsAuthenticated,)
ix = index.open_index()
def get(self, request, format=None):
if 'query' in request.query_params:
query = request.query_params['query']
@@ -162,3 +166,26 @@ class SearchView(APIView):
return Response(query_results)
else:
return Response([])
class SearchAutoCompleteView(APIView):
permission_classes = (IsAuthenticated,)
ix = index.open_index()
def get(self, request, format=None):
if 'term' in request.query_params:
term = request.query_params['term']
else:
term = None
if 'limit' in request.query_params:
limit = int(request.query_params['limit'])
else:
limit = 10
if term is not None:
return Response(index.autocomplete(self.ix, term, limit))
else:
return Response([])