diff --git a/wagtail/search/backends/elasticsearch6.py b/wagtail/search/backends/elasticsearch6.py
index d254b41fc8..8ae41d78b4 100644
--- a/wagtail/search/backends/elasticsearch6.py
+++ b/wagtail/search/backends/elasticsearch6.py
@@ -86,10 +86,23 @@ class Elasticsearch6Index(Elasticsearch5Index):
 class Elasticsearch6SearchQueryCompiler(Elasticsearch5SearchQueryCompiler):
     mapping_class = Elasticsearch6Mapping
 
-    def __init__(self, *args, **kwargs):
-        super().__init__(*args, **kwargs)
-        remapped_fields = self.remapped_fields or [self.mapping.all_field_name]
-        remapped_fields = [Field(field) for field in remapped_fields]
+    def _remap_fields(self, fields):
+        # Convert field names into index column names
+        if fields:
+            remapped_fields = []
+            searchable_fields = {
+                f.field_name: f
+                for f in self.queryset.model.get_searchable_search_fields()
+            }
+            for field_name in fields:
+                if field_name in searchable_fields:
+                    field_name = self.mapping.get_field_column_name(
+                        searchable_fields[field_name]
+                    )
+
+                remapped_fields.append(Field(field_name))
+        else:
+            remapped_fields = [Field(self.mapping.all_field_name)]
 
         models = get_indexed_models()
         unique_boosts = set()
@@ -100,10 +113,14 @@ class Elasticsearch6SearchQueryCompiler(Elasticsearch5SearchQueryCompiler):
                 if field.boost:
                     unique_boosts.add(float(field.boost))
 
-        self.remapped_fields = remapped_fields + [
-            Field(self.mapping.get_boost_field_name(boost), boost)
-            for boost in unique_boosts
-        ]
+        remapped_fields.extend(
+            [
+                Field(self.mapping.get_boost_field_name(boost), boost)
+                for boost in unique_boosts
+            ]
+        )
+
+        return remapped_fields
 
     def _compile_fuzzy_query(self, query, fields):
         if len(fields) == 1: