diff --git a/course_discovery/apps/edx_elasticsearch_dsl_extensions/backends.py b/course_discovery/apps/edx_elasticsearch_dsl_extensions/backends.py index f3bf2897cd..157aa606e2 100644 --- a/course_discovery/apps/edx_elasticsearch_dsl_extensions/backends.py +++ b/course_discovery/apps/edx_elasticsearch_dsl_extensions/backends.py @@ -121,7 +121,9 @@ def filter_by_facets(self, request, queryset, view): if not field_facets.get(field): raise ParseError('The selected query facet [{facet}] is not valid.'.format(facet=field)) - _filters.append(ESDSLQ('term', **{field: value})) + # Use the actual elasticsearch field name from configuration, not the facet key + elasticsearch_field = field_facets[field]['field'] + _filters.append(ESDSLQ('term', **{elasticsearch_field: value})) queryset = queryset.query('bool', **{'filter': _filters}) return queryset