-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsearch.py
22 lines (21 loc) · 892 Bytes
/
search.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from django.http import HttpResponseServerError
from django.shortcuts import render
from elasticsearch.exceptions import ConnectionError
from users.documents import ProfileDocument
from skills.documents import SkillDocument
def search(request):
query = request.GET.get('query', '')
try:
users_results = ProfileDocument.search().query('fuzzy', user__username=query).execute()
skills_results = SkillDocument.search().query('fuzzy', skill_name=query).execute()
return render(request, 'search.html', {
'users_results': users_results,
'skills_results': skills_results,
'query': query
})
except ConnectionError as e:
error_message = f"Error connecting to Elasticsearch: {str(e)}"
return render(request, 'search.html', {
'error_message': error_message,
'query': query
})