diff --git a/apps/search_indexes/filters.py b/apps/search_indexes/filters.py index 28341502..3ef74978 100644 --- a/apps/search_indexes/filters.py +++ b/apps/search_indexes/filters.py @@ -71,14 +71,21 @@ class CustomSearchFilterBackend(SearchFilterBackend): Q("match", **{k: v}) ) __queries.append( - Q('wildcard', **{k: f'*{search_term.lower()}*'}) + Q('wildcard', + **{k: { + 'value': f'*{search_term.lower()}*', + 'boost': v.get('boost', 1) + 0.1 + } + } + ) ) else: __queries.append( Q("match", **field_kwargs) ) __queries.append( - Q('wildcard', **{field: f'*{search_term.lower()}*'}) + Q('wildcard', **{field: {'value': f'*{search_term.lower()}*', + 'boost': field_kwargs[field].get('boost', 1) + 0.1}}) ) else: for field in view.search_fields: @@ -99,13 +106,20 @@ class CustomSearchFilterBackend(SearchFilterBackend): Q("match", **{k: v}) ) __queries.append( - Q('wildcard', **{k: f'*{search_term.lower()}*'}) + Q('wildcard', + **{k: { + 'value': f'*{search_term.lower()}*', + 'boost': v.get('boost', 1) + 0.1 + } + } + ) ) else: __queries.append( Q("match", **field_kwargs) ) __queries.append( - Q('wildcard', **{field: f'*{search_term.lower()}*'}) + Q('wildcard', **{field: {'value': f'*{search_term.lower()}*', + 'boost': field_kwargs[field].get('boost', 1) + 0.1}}) ) return __queries \ No newline at end of file