diff --git a/package.json b/package.json index 70222f350..0b3367951 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "pelias-logger": "^1.2.0", "pelias-microservice-wrapper": "^1.10.0", "pelias-model": "^9.0.0", - "pelias-parser": "2.2.0", + "pelias-parser": "3.4.0", "pelias-query": "^11.4.0", "pelias-sorting": "^1.7.0", "predicates": "^2.0.0", diff --git a/sanitizer/_text_pelias_parser.js b/sanitizer/_text_pelias_parser.js index a9e3ff1fc..b64322493 100644 --- a/sanitizer/_text_pelias_parser.js +++ b/sanitizer/_text_pelias_parser.js @@ -185,7 +185,12 @@ function parse (t) { // an address query if (!_.isEmpty(parsed_text.housenumber) && !_.isEmpty(parsed_text.street)) { - parsed_text.subject = `${parsed_text.housenumber} ${parsed_text.street}`; + const housenoFirstNumericSection = parsed_text.housenumber.match(/\d+/); + if (housenoFirstNumericSection) { + parsed_text.subject = `${housenoFirstNumericSection[0]} ${parsed_text.street}`; + } else { + parsed_text.subject = `${parsed_text.housenumber} ${parsed_text.street}`; + } } // an intersection query else if (!_.isEmpty(parsed_text.street) && !_.isEmpty(parsed_text.cross_street)) {