bug fixes

This commit is contained in:
Alexander Karpov 2024-04-22 14:55:07 +03:00
parent a6740c4faf
commit b4124d90bb

View File

@ -12,9 +12,16 @@ def search_song(query):
search_query = ES_Q( search_query = ES_Q(
"bool", "bool",
should=[ should=[
ES_Q("match_phrase", name__exact=query, boost=5), # Boost for exact matches using a "bool" and "should" combination
ES_Q("match_phrase", name__raw=query.lower(), boost=2.5), ES_Q("bool", should=[ES_Q("match_phrase", name__exact=query)], boost=5),
ES_Q(
"bool",
should=[ES_Q("match_phrase", name__raw=query.lower())],
boost=2.5,
),
# Standard matches
ES_Q("match", name__russian=query), ES_Q("match", name__russian=query),
# Multi-match queries for various fields
ES_Q( ES_Q(
"multi_match", "multi_match",
query=query, query=query,
@ -29,8 +36,10 @@ def search_song(query):
type="best_fields", type="best_fields",
fuzziness="AUTO", fuzziness="AUTO",
), ),
# Matching against meta fields
ES_Q("match", meta__lyrics=query, fuzziness="AUTO", boost=0.5), ES_Q("match", meta__lyrics=query, fuzziness="AUTO", boost=0.5),
ES_Q("match", meta__other_field=query, fuzziness="AUTO"), ES_Q("match", meta__raw=query.lower(), fuzziness="AUTO", boost=0.5),
# Nested queries for authors and albums
ES_Q( ES_Q(
"nested", "nested",
path="authors", path="authors",
@ -53,6 +62,7 @@ def search_song(query):
), ),
boost=2, boost=2,
), ),
# Wildcard queries for partial matches
ES_Q("wildcard", name__raw=f"*{query.lower()}*"), ES_Q("wildcard", name__raw=f"*{query.lower()}*"),
ES_Q("wildcard", meta__raw=f"*{query.lower()}*"), ES_Q("wildcard", meta__raw=f"*{query.lower()}*"),
], ],