]> git.openstreetmap.org Git - nominatim.git/blobdiff - src/nominatim_api/search/icu_tokenizer.py
lift restrictions on search with frequent terms slightly
[nominatim.git] / src / nominatim_api / search / icu_tokenizer.py
index 426656797c873b2a4419c3913d4ac3f66d5c4610..7bd2b09259d70facf28c5505f2c923f5e7aab46e 100644 (file)
@@ -16,8 +16,8 @@ from icu import Transliterator
 
 import sqlalchemy as sa
 
 
 import sqlalchemy as sa
 
-from nominatim_core.typing import SaRow
-from nominatim_core.db.sqlalchemy_types import Json
+from ..typing import SaRow
+from ..sql.sqlalchemy_types import Json
 from ..connection import SearchConnection
 from ..logging import log
 from ..search import query as qmod
 from ..connection import SearchConnection
 from ..logging import log
 from ..search import query as qmod
@@ -208,7 +208,12 @@ class ICUQueryAnalyzer(AbstractQueryAnalyzer):
             standardized form search will work with. All information removed
             at this stage is inevitably lost.
         """
             standardized form search will work with. All information removed
             at this stage is inevitably lost.
         """
-        return cast(str, self.normalizer.transliterate(text))
+        norm = cast(str, self.normalizer.transliterate(text))
+        numspaces = norm.count(' ')
+        if numspaces > 4 and len(norm) <= (numspaces + 1) * 3:
+            return ''
+
+        return norm
 
 
     def split_query(self, query: qmod.QueryStruct) -> Tuple[QueryParts, WordDict]:
 
 
     def split_query(self, query: qmod.QueryStruct) -> Tuple[QueryParts, WordDict]: