forked from hans/Nominatim
handle unknown analyzer
When changing something in the default configuration of the sanatizers that refers to an analyzer that is not yet loaded, there shouldn't be any errors.
This commit is contained in:
@@ -27,3 +27,10 @@ class ICUTokenAnalysis:
|
||||
|
||||
self.analysis = {name: arules.create(self.normalizer, self.to_ascii, arules.config)
|
||||
for name, arules in analysis_rules.items()}
|
||||
|
||||
|
||||
def get_analyzer(self, name):
|
||||
""" Return the given named analyzer. If no analyzer with that
|
||||
name exists, return the default analyzer.
|
||||
"""
|
||||
return self.analysis.get(name) or self.analysis[None]
|
||||
|
||||
@@ -561,7 +561,7 @@ class LegacyICUNameAnalyzer(AbstractAnalyzer):
|
||||
|
||||
for name in names:
|
||||
analyzer_id = name.get_attr('analyzer')
|
||||
analyzer = self.token_analysis.analysis[analyzer_id]
|
||||
analyzer = self.token_analysis.get_analyzer(analyzer_id)
|
||||
norm_name = analyzer.normalize(name.name)
|
||||
if analyzer_id is None:
|
||||
token_id = norm_name
|
||||
|
||||
Reference in New Issue
Block a user