factor out check if a token fits current search

Saves allocating an empty array.
This commit is contained in:
Sarah Hoffmann
2021-07-17 22:01:35 +02:00
parent a48ebd9b47
commit b14ce959d9
7 changed files with 107 additions and 34 deletions

View File

@@ -31,6 +31,22 @@ class SpecialTerm
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->hasOperator() && $oPosition->isPhrase('');
}
/**
* Derive new searches by adding this token to an existing search.
*
@@ -42,10 +58,6 @@ class SpecialTerm
*/
public function extendSearch($oSearch, $oPosition)
{
if ($oSearch->hasOperator() || !$oPosition->isPhrase('')) {
return array();
}
$iSearchCost = 2;
$iOp = $this->iOperator;