diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2015-10-18 09:31:31 +0200 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2015-10-18 09:31:31 +0200 |
commit | 80f7dc77d430774192b929d780f96260066df2ee (patch) | |
tree | 102eaae7fc9ec567f2af76e96da3de2d1e83afcf /vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MultiMatchTest.php | |
parent | cccd7bb4d819334c07e0dadaf16cbfdef31880e1 (diff) |
Update to MediaWiki 1.25.3
Diffstat (limited to 'vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MultiMatchTest.php')
-rw-r--r-- | vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MultiMatchTest.php | 187 |
1 files changed, 0 insertions, 187 deletions
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MultiMatchTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MultiMatchTest.php deleted file mode 100644 index 78a8a8fe..00000000 --- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/MultiMatchTest.php +++ /dev/null @@ -1,187 +0,0 @@ -<?php - -namespace Elastica\Test\Query; - -use Elastica\Document; -use Elastica\Index; -use Elastica\Query; -use Elastica\Query\MultiMatch; -use Elastica\Test\Base as BaseTest; -use Elastica\Type; -use Elastica\Type\Mapping; - -class MultiMatchTest extends BaseTest -{ - private $index; - private $multiMatch; - - private static $data = array( - array('id' => 1, 'name' => 'Rodolfo', 'last_name' => 'Moraes', 'full_name' => 'Rodolfo Moraes'), - array('id' => 2, 'name' => 'Tristan', 'last_name' => 'Maindron', 'full_name' => 'Tristan Maindron'), - array('id' => 3, 'name' => 'Monique', 'last_name' => 'Maindron', 'full_name' => 'Monique Maindron'), - array('id' => 4, 'name' => 'John', 'last_name' => 'not Doe', 'full_name' => 'John not Doe'), - ); - - protected function setUp() - { - $this->index = $this->_generateIndex(); - $this->multiMatch = new MultiMatch(); - } - - public function testMinimumShouldMatch() - { - $this->multiMatch->setQuery('Tristan Maindron'); - $this->multiMatch->setFields(array('full_name', 'name')); - $this->multiMatch->setMinimumShouldMatch(2); - $resultSet = $this->_getResults(); - - $this->assertEquals(1, $resultSet->count()); - } - - public function testAndOperator() - { - $this->multiMatch->setQuery('Monique Maindron'); - $this->multiMatch->setFields(array('full_name', 'name')); - $this->multiMatch->setOperator(MultiMatch::OPERATOR_AND); - $resultSet = $this->_getResults(); - - $this->assertEquals(1, $resultSet->count()); - } - - public function testType() - { - $this->multiMatch->setQuery('Trist'); - $this->multiMatch->setFields(array('full_name', 'name')); - $this->multiMatch->setType(MultiMatch::TYPE_PHRASE_PREFIX); - $resultSet = $this->_getResults(); - - $this->assertEquals(1, $resultSet->count()); - } - - public function testFuzzy() - { - $this->multiMatch->setQuery('Tritsan'); // Mispell on purpose - $this->multiMatch->setFields(array('full_name', 'name')); - $this->multiMatch->setFuzziness(2); - $resultSet = $this->_getResults(); - - $this->assertEquals(1, $resultSet->count()); - - $this->multiMatch->setQuery('Tritsan'); // Mispell on purpose - $this->multiMatch->setFields(array('full_name', 'name')); - $this->multiMatch->setFuzziness(0); - $resultSet = $this->_getResults(); - - $this->assertEquals(0, $resultSet->count()); - } - - public function testFuzzyWithOptions1() - { - // Here Elasticsearch will not accept mispells - // on the first 6 letters. - $this->multiMatch->setQuery('Tritsan'); // Mispell on purpose - $this->multiMatch->setFields(array('full_name', 'name')); - $this->multiMatch->setFuzziness(2); - $this->multiMatch->setPrefixLength(6); - $resultSet = $this->_getResults(); - - $this->assertEquals(0, $resultSet->count()); - } - - public function testFuzzyWithOptions2() { - - // Here with a 'M' search we should hit 'Moraes' first - // and then stop because MaxExpansion = 1. - // If MaxExpansion was set to 2, we could hit "Maindron" too. - $this->multiMatch->setQuery('M'); - $this->multiMatch->setFields(array('name')); - $this->multiMatch->setType(MultiMatch::TYPE_PHRASE_PREFIX); - $this->multiMatch->setPrefixLength(0); - $this->multiMatch->setMaxExpansions(1); - $resultSet = $this->_getResults(); - - $this->assertEquals(1, $resultSet->count()); - } - - public function testZeroTerm() - { - $this->multiMatch->setQuery('not'); // This is a stopword. - $this->multiMatch->setFields(array('full_name', 'last_name')); - $this->multiMatch->setZeroTermsQuery(MultiMatch::ZERO_TERM_NONE); - $this->multiMatch->setAnalyzer('stops'); - $resultSet = $this->_getResults(); - - $this->assertEquals(0, $resultSet->count()); - - $this->multiMatch->setZeroTermsQuery(MultiMatch::ZERO_TERM_ALL); - $resultSet = $this->_getResults(); - - $this->assertEquals(4, $resultSet->count()); - } - - public function testBaseMultiMatch() - { - $this->multiMatch->setQuery('Rodolfo'); - $this->multiMatch->setFields(array('name', 'last_name')); - $resultSet = $this->_getResults(); - - $this->assertEquals(1, $resultSet->count()); - - $this->multiMatch->setQuery('Moraes'); - $this->multiMatch->setFields(array('name', 'last_name')); - $resultSet = $this->_getResults(); - - $this->assertEquals(1, $resultSet->count()); - } - - /** - * Executes the query with the current multimatch. - */ - private function _getResults() - { - return $this->index->search(new Query($this->multiMatch)); - } - - /** - * Builds an index for testing. - */ - private function _generateIndex() - { - $client = $this->_getClient(); - $index = $client->getIndex('test'); - - $index->create(array( - 'analysis' => array( - 'analyzer' => array( - 'noStops' => array( - 'type' => 'standard', - 'stopwords' => '_none_' - ), - 'stops' => array( - 'type' => 'standard', - 'stopwords' => array('not') - ), - ), - ) - ), true); - - $type = $index->getType('test'); - - $mapping = new Mapping($type, array( - 'name' => array('type' => 'string', 'store' => 'no', 'analyzer' => 'noStops'), - 'last_name' => array('type' => 'string', 'store' => 'no', 'analyzer' => 'noStops'), - 'full_name' => array('type' => 'string', 'store' => 'no', 'analyzer' => 'noStops'), - )); - - $type->setMapping($mapping); - - foreach (self::$data as $key => $docData) { - $type->addDocument(new Document($key, $docData)); - } - - // Refresh index - $index->refresh(); - - return $index; - } -} |