X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/023f94b066c11628ecc87ca9876dbe5ec4136776..ccab565a4a73213742be716ea796677829f1a91c:/lib/Phrase.php diff --git a/lib/Phrase.php b/lib/Phrase.php index 23b9e3ca..b39079d9 100644 --- a/lib/Phrase.php +++ b/lib/Phrase.php @@ -9,7 +9,7 @@ namespace Nominatim; */ class Phrase { - CONST MAX_DEPTH = 7; + const MAX_DEPTH = 7; // Complete phrase as a string. private $sPhrase; @@ -29,16 +29,35 @@ class Phrase $this->aWordSets = $this->createWordSets($this->aWords, 0); } + /** + * Return the element type of the phrase. + * + * @return string Pharse type if the phrase comes from a structured query + * or empty string otherwise. + */ public function getPhraseType() { return $this->sPhraseType; } + /** + * Return the array of possible segmentations of the phrase. + * + * @return string[][] Array of segmentations, each consisting of an + * array of terms. + */ public function getWordSets() { return $this->aWordSets; } + /** + * Add the tokens from this phrase to the given list of tokens. + * + * @param string[] $aTokens List of tokens to append. + * + * @return void + */ public function addTokens(&$aTokens) { foreach ($this->aWordSets as $aSet) { @@ -49,6 +68,11 @@ class Phrase } } + /** + * Invert the set of possible segmentations. + * + * @return void + */ public function invertWordSets() { $this->aWordSets = $this->createInverseWordSets($this->aWords, 0); @@ -72,7 +96,7 @@ class Phrase return $aResult; } - public function createInverseWordSets($aWords, $iDepth) + private function createInverseWordSets($aWords, $iDepth) { $aResult = array(array(join(' ', $aWords))); $sFirstToken = ''; @@ -89,4 +113,4 @@ class Phrase return $aResult; } -}; +}