Merge pull request #2437 from lonvia/tweak-ranking-searches

Some more tweaks for search interpretation
This commit is contained in:
Sarah Hoffmann
2021-09-03 14:16:23 +02:00
committed by GitHub
2 changed files with 6 additions and 3 deletions

View File

@@ -59,7 +59,7 @@ class HouseNumber
$iSearchCost = 1; $iSearchCost = 1;
if (preg_match('/\\d/', $this->sToken) === 0 if (preg_match('/\\d/', $this->sToken) === 0
|| preg_match_all('/[^0-9]/', $this->sToken, $aMatches) > 2) { || preg_match_all('/[^0-9]/', $this->sToken, $aMatches) > 2) {
$iSearchCost++; $iSearchCost += strlen($this->sToken) - 1;
} }
if (!$oSearch->hasOperator(\Nominatim\Operator::NONE)) { if (!$oSearch->hasOperator(\Nominatim\Operator::NONE)) {
$iSearchCost++; $iSearchCost++;

View File

@@ -44,7 +44,10 @@ class SpecialTerm
*/ */
public function isExtendable($oSearch, $oPosition) public function isExtendable($oSearch, $oPosition)
{ {
return !$oSearch->hasOperator() && $oPosition->isPhrase(''); return !$oSearch->hasOperator()
&& $oPosition->isPhrase('')
&& ($this->iOperator != \Nominatim\Operator::NONE
|| (!$oSearch->hasAddress() && !$oSearch->hasHousenumber() && !$oSearch->hasCountry()));
} }
/** /**
@@ -66,8 +69,8 @@ class SpecialTerm
$iOp = \Nominatim\Operator::NAME; $iOp = \Nominatim\Operator::NAME;
} else { } else {
$iOp = \Nominatim\Operator::NEAR; $iOp = \Nominatim\Operator::NEAR;
$iSearchCost += 2;
} }
$iSearchCost += 2;
} elseif (!$oPosition->isFirstToken() && !$oPosition->isLastToken()) { } elseif (!$oPosition->isFirstToken() && !$oPosition->isLastToken()) {
$iSearchCost += 2; $iSearchCost += 2;
} }