From a1789ddde42033f1b05cc4929491214ee6e79383 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Thu, 17 Dec 2015 09:15:42 +0100 Subject: Update to MediaWiki 1.26.0 --- .../elastica/lib/Elastica/Suggest/Phrase.php | 164 +++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 vendor/ruflin/elastica/lib/Elastica/Suggest/Phrase.php (limited to 'vendor/ruflin/elastica/lib/Elastica/Suggest/Phrase.php') diff --git a/vendor/ruflin/elastica/lib/Elastica/Suggest/Phrase.php b/vendor/ruflin/elastica/lib/Elastica/Suggest/Phrase.php new file mode 100644 index 00000000..544f3678 --- /dev/null +++ b/vendor/ruflin/elastica/lib/Elastica/Suggest/Phrase.php @@ -0,0 +1,164 @@ +setParam('analyzer', $analyzer); + } + + /** + * Set the max size of the n-grams (shingles) in the field. + * + * @param int $size + * + * @return $this + */ + public function setGramSize($size) + { + return $this->setParam('gram_size', $size); + } + + /** + * Set the likelihood of a term being misspelled even if the term exists in the dictionary. + * + * @param float $likelihood Defaults to 0.95, meaning 5% of the words are misspelled. + * + * @return $this + */ + public function setRealWordErrorLikelihood($likelihood) + { + return $this->setParam('real_word_error_likelihood', $likelihood); + } + + /** + * Set the factor applied to the input phrases score to be used as a threshold for other suggestion candidates. + * Only candidates which score higher than this threshold will be included in the result. + * + * @param float $confidence Defaults to 1.0. + * + * @return $this + */ + public function setConfidence($confidence) + { + return $this->setParam('confidence', $confidence); + } + + /** + * Set the maximum percentage of the terms considered to be misspellings in order to form a correction. + * + * @param float $max + * + * @return $this + */ + public function setMaxErrors($max) + { + return $this->setParam('max_errors', $max); + } + + /** + * @param string $separator + * + * @return $this + */ + public function setSeparator($separator) + { + return $this->setParam('separator', $separator); + } + + /** + * Set suggestion highlighting. + * + * @param string $preTag + * @param string $postTag + * + * @return $this + */ + public function setHighlight($preTag, $postTag) + { + return $this->setParam('highlight', array( + 'pre_tag' => $preTag, + 'post_tag' => $postTag, + )); + } + + /** + * @param float $discount + * + * @return $this + */ + public function setStupidBackoffSmoothing($discount = 0.4) + { + return $this->setSmoothingModel('stupid_backoff', array( + 'discount' => $discount, + )); + } + + /** + * @param float $alpha + * + * @return $this + */ + public function setLaplaceSmoothing($alpha = 0.5) + { + return $this->setSmoothingModel('laplace', array( + 'alpha' => $alpha, + )); + } + + /** + * @param float $trigramLambda + * @param float $bigramLambda + * @param float $unigramLambda + * + * @return $this + */ + public function setLinearInterpolationSmoothing($trigramLambda, $bigramLambda, $unigramLambda) + { + return $this->setSmoothingModel('linear_interpolation', array( + 'trigram_lambda' => $trigramLambda, + 'bigram_lambda' => $bigramLambda, + 'unigram_lambda' => $unigramLambda, + )); + } + + /** + * @param string $model the name of the smoothing model + * @param array $params + * + * @return $this + */ + public function setSmoothingModel($model, array $params) + { + return $this->setParam('smoothing', array( + $model => $params, + )); + } + + /** + * @param AbstractCandidateGenerator $generator + * + * @return $this + */ + public function addCandidateGenerator(AbstractCandidateGenerator $generator) + { + $generator = $generator->toArray(); + $keys = array_keys($generator); + $values = array_values($generator); + + return $this->addParam($keys[0], $values[0]); + } +} -- cgit v1.2.3-54-g00ecf