diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2015-08-16 08:22:05 +0200 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2015-08-16 08:22:05 +0200 |
commit | 1a365e77dfb8825136626202b1df462731b42060 (patch) | |
tree | 1dc4468eaabf070e051e790a9e67a9a9a2c63d99 /vendor/ruflin/elastica/test/lib/Elastica/Test/Query/CommonTest.php | |
parent | a72fd280f7acb4d2a1ba579a0f1b2b2ae8958530 (diff) |
Update to MediaWiki 1.25.2
Diffstat (limited to 'vendor/ruflin/elastica/test/lib/Elastica/Test/Query/CommonTest.php')
-rw-r--r-- | vendor/ruflin/elastica/test/lib/Elastica/Test/Query/CommonTest.php | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/CommonTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/CommonTest.php new file mode 100644 index 00000000..a84d6397 --- /dev/null +++ b/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/CommonTest.php @@ -0,0 +1,59 @@ +<?php + +namespace Elastica\Test\Query; + +use Elastica\Query\Common; +use Elastica\Test\Base as BaseTest; + +class CommonTest extends BaseTest +{ + public function testToArray() + { + $query = new Common('body', 'test query', .001); + $query->setLowFrequencyOperator(Common::OPERATOR_AND); + + $expected = array( + 'common' => array( + 'body' => array( + 'query' => 'test query', + 'cutoff_frequency' => .001, + 'low_freq_operator' => 'and' + ) + ) + ); + + $this->assertEquals($expected, $query->toArray()); + } + + public function testQuery() + { + $index = $this->_createIndex('common_test'); + $type = $index->getType('test'); + + //add documents to create common terms + $docs = array(); + for ($i = 0; $i < 20; $i++) { + $docs[] = new \Elastica\Document($i, array('body' => 'foo bar')); + } + $type->addDocuments($docs); + + $type->addDocument(new \Elastica\Document(20, array('body' => 'foo baz'))); + $type->addDocument(new \Elastica\Document(21, array('body' => 'foo bar baz'))); + $type->addDocument(new \Elastica\Document(22, array('body' => 'foo bar baz bat'))); + $index->refresh(); + + $query = new Common('body', 'foo bar baz bat', .5); + $results = $type->search($query)->getResults(); + + //documents containing only common words should not be returned + $this->assertEquals(3, sizeof($results)); + + $query->setMinimumShouldMatch(2); + $results = $type->search($query); + + //only the document containing both low frequency terms should match + $this->assertEquals(1, $results->count()); + + $index->delete(); + } +} |