wildcard boosting

This commit is contained in:
Kuroshini 2019-11-20 17:01:17 +03:00
parent 45fee0355c
commit cd328186e1

View File

@ -71,14 +71,21 @@ class CustomSearchFilterBackend(SearchFilterBackend):
Q("match", **{k: v}) Q("match", **{k: v})
) )
__queries.append( __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: else:
__queries.append( __queries.append(
Q("match", **field_kwargs) Q("match", **field_kwargs)
) )
__queries.append( __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: else:
for field in view.search_fields: for field in view.search_fields:
@ -99,13 +106,20 @@ class CustomSearchFilterBackend(SearchFilterBackend):
Q("match", **{k: v}) Q("match", **{k: v})
) )
__queries.append( __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: else:
__queries.append( __queries.append(
Q("match", **field_kwargs) Q("match", **field_kwargs)
) )
__queries.append( __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 return __queries