X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/a48ebd9b477318bc5fdb44d7dc6bbf695911a4b9..199532c802fafaa13ae77d1b24cf969e24e8a9d0:/lib-php/TokenHousenumber.php diff --git a/lib-php/TokenHousenumber.php b/lib-php/TokenHousenumber.php index 0cc67a12..cd60d3ca 100644 --- a/lib-php/TokenHousenumber.php +++ b/lib-php/TokenHousenumber.php @@ -23,6 +23,24 @@ class HouseNumber return $this->iId; } + /** + * Check if the token can be added to the given search. + * Derive new searches by adding this token to an existing search. + * + * @param object $oSearch Partial search description derived so far. + * @param object $oPosition Description of the token position within + the query. + * + * @return True if the token is compatible with the search configuration + * given the position. + */ + public function isExtendable($oSearch, $oPosition) + { + return !$oSearch->hasHousenumber() + && !$oSearch->hasOperator(\Nominatim\Operator::POSTCODE) + && $oPosition->maybePhrase('street'); + } + /** * Derive new searches by adding this token to an existing search. * @@ -36,13 +54,6 @@ class HouseNumber { $aNewSearches = array(); - if ($oSearch->hasHousenumber() - || $oSearch->hasOperator(\Nominatim\Operator::POSTCODE) - || !$oPosition->maybePhrase('street') - ) { - return $aNewSearches; - } - // sanity check: if the housenumber is not mainly made // up of numbers, add a penalty $iSearchCost = 1;