Skip to content

Commit

Permalink
OpenConceptLab/ocl_issues#649 | optimizing search results | giving pr…
Browse files Browse the repository at this point in the history
…eference to id and name
  • Loading branch information
snyaggarwal committed Apr 21, 2021
1 parent 37dd1b8 commit ac95a94
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions core/common/views.py
Expand Up @@ -148,6 +148,9 @@ def get_wildcard_search_string(self):

def get_sort_attr(self):
sort_field, desc = self.get_sort_and_desc()
if sort_field and sort_field.lower() in ['score', '_score', 'best match']:
return dict(_score=dict(order="desc" if desc else "asc"))

if self.is_valid_sort(sort_field):
if desc:
sort_field = '-' + sort_field
Expand Down Expand Up @@ -382,8 +385,14 @@ def __search_results(self): # pylint: disable=too-many-branches,too-many-locals
if self.is_exact_match_on():
results = results.query(self.get_exact_search_criterion())
else:
results = results.filter(
"query_string", query=self.get_wildcard_search_string(), fields=self.get_searchable_fields()
results = results.query(
Q(
"query_string", query=self.get_wildcard_search_string(), fields=self.get_searchable_fields()
) | Q(
"prefix", id=dict(value=self.get_search_string(), boost=4)
) | Q(
"prefix", name=dict(value=self.get_search_string(), boost=3)
)
)

updated_since = parse_updated_since_param(self.request.query_params)
Expand Down

0 comments on commit ac95a94

Please sign in to comment.