summaryrefslogtreecommitdiff
path: root/vendor/ruflin/elastica/test/lib/Elastica/Test/Query/CommonTest.php
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2015-12-18 06:00:00 +0100
committerPierre Schmitz <pierre@archlinux.de>2015-12-18 06:00:00 +0100
commit15e69f7b20b6596b9148030acce5b59993b95a45 (patch)
tree7b828b8920b0e222dc2a2c97dde933c9c4864fab /vendor/ruflin/elastica/test/lib/Elastica/Test/Query/CommonTest.php
parent9e06a62f265e3a2aaabecc598d4bc617e06fa32d (diff)
Update to MediaWiki 1.25.4
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.php59
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();
+ }
+}