Move ES5->ES6 remapped_field tweaks out of __init__ and into _remap_fields

pull/11297/head
Matt Westcott 2023-11-14 21:07:53 +00:00 zatwierdzone przez Matt Westcott
rodzic 8e65ff5b0a
commit 947c1c3491
1 zmienionych plików z 25 dodań i 8 usunięć

Wyświetl plik

@ -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: