Skip to content
Snippets Groups Projects
Commit cfc67dd0 authored by Simonas Šerlinskas's avatar Simonas Šerlinskas
Browse files

Merge pull request #70 from einorler/Suggest

changed Suggest to TermSuggest
parents 3be0fa17 e53cdf9b
No related branches found
No related tags found
No related merge requests found
...@@ -383,11 +383,11 @@ class Search ...@@ -383,11 +383,11 @@ class Search
/** /**
* Adds suggest into search. * Adds suggest into search.
* *
* @param Suggest $suggest * @param BuilderInterface $suggest
* *
* @return $this * @return $this
*/ */
public function addSuggest(Suggest $suggest) public function addSuggest(BuilderInterface $suggest)
{ {
$this->getEndpoint(SuggestEndpoint::NAME)->add($suggest, $suggest->getName()); $this->getEndpoint(SuggestEndpoint::NAME)->add($suggest, $suggest->getName());
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
namespace ONGR\ElasticsearchDSL\SearchEndpoint; namespace ONGR\ElasticsearchDSL\SearchEndpoint;
use ONGR\ElasticsearchDSL\Suggest\Suggest; use ONGR\ElasticsearchDSL\Suggest\TermSuggest;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface; use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
/** /**
...@@ -31,9 +31,9 @@ class SuggestEndpoint extends AbstractSearchEndpoint ...@@ -31,9 +31,9 @@ class SuggestEndpoint extends AbstractSearchEndpoint
{ {
$output = []; $output = [];
if (count($this->getAll()) > 0) { if (count($this->getAll()) > 0) {
/** @var Suggest $suggest */ /** @var TermSuggest $suggest */
foreach ($this->getAll() as $suggest) { foreach ($this->getAll() as $suggest) {
$output[$suggest->getName()] = $suggest->toArray(); $output = array_merge($output, $suggest->toArray());
} }
} }
......
...@@ -14,7 +14,7 @@ namespace ONGR\ElasticsearchDSL\Suggest; ...@@ -14,7 +14,7 @@ namespace ONGR\ElasticsearchDSL\Suggest;
use ONGR\ElasticsearchDSL\BuilderInterface; use ONGR\ElasticsearchDSL\BuilderInterface;
use ONGR\ElasticsearchDSL\ParametersTrait; use ONGR\ElasticsearchDSL\ParametersTrait;
class Suggest implements BuilderInterface class TermSuggest implements BuilderInterface
{ {
use ParametersTrait; use ParametersTrait;
...@@ -44,7 +44,7 @@ class Suggest implements BuilderInterface ...@@ -44,7 +44,7 @@ class Suggest implements BuilderInterface
*/ */
public function getType() public function getType()
{ {
return 'suggest'; return 'term_suggest';
} }
/** /**
...@@ -70,10 +70,10 @@ class Suggest implements BuilderInterface ...@@ -70,10 +70,10 @@ class Suggest implements BuilderInterface
$this->addParameter('size', self::DEFAULT_SIZE); $this->addParameter('size', self::DEFAULT_SIZE);
} }
$output = [ $output = [$this->name => [
'text' => $this->text, 'text' => $this->text,
'term' => $this->getParameters(), 'term' => $this->getParameters(),
]; ]];
return $output; return $output;
} }
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
namespace ONGR\ElasticsearchDSL\Tests\Unit\SearchEndpoint; namespace ONGR\ElasticsearchDSL\Tests\Unit\SearchEndpoint;
use ONGR\ElasticsearchDSL\SearchEndpoint\SuggestEndpoint; use ONGR\ElasticsearchDSL\SearchEndpoint\SuggestEndpoint;
use ONGR\ElasticsearchDSL\Suggest\Suggest; use ONGR\ElasticsearchDSL\Suggest\TermSuggest;
use PHPUnit_Framework_MockObject_MockObject as MockObject; use PHPUnit_Framework_MockObject_MockObject as MockObject;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface; use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
...@@ -33,7 +33,7 @@ class SuggestEndpointTest extends \PHPUnit_Framework_TestCase ...@@ -33,7 +33,7 @@ class SuggestEndpointTest extends \PHPUnit_Framework_TestCase
{ {
$suggestName = 'acme_suggest'; $suggestName = 'acme_suggest';
$text = 'foo'; $text = 'foo';
$suggest = new Suggest($suggestName, $text); $suggest = new TermSuggest($suggestName, $text);
$endpoint = new SuggestEndpoint(); $endpoint = new SuggestEndpoint();
$endpoint->add($suggest, $suggestName); $endpoint->add($suggest, $suggestName);
$builders = $endpoint->getAll(); $builders = $endpoint->getAll();
...@@ -54,11 +54,11 @@ class SuggestEndpointTest extends \PHPUnit_Framework_TestCase ...@@ -54,11 +54,11 @@ class SuggestEndpointTest extends \PHPUnit_Framework_TestCase
'Symfony\Component\Serializer\Normalizer\NormalizerInterface' 'Symfony\Component\Serializer\Normalizer\NormalizerInterface'
); );
$suggest = new Suggest('foo', 'bar'); $suggest = new TermSuggest('foo', 'bar');
$instance->add($suggest); $instance->add($suggest);
$this->assertEquals( $this->assertEquals(
['foo' => $suggest->toArray()], $suggest->toArray(),
$instance->normalize($normalizerInterface) $instance->normalize($normalizerInterface)
); );
} }
......
...@@ -15,7 +15,7 @@ use ONGR\ElasticsearchDSL\Query\MissingQuery; ...@@ -15,7 +15,7 @@ use ONGR\ElasticsearchDSL\Query\MissingQuery;
use ONGR\ElasticsearchDSL\Query\TermQuery; use ONGR\ElasticsearchDSL\Query\TermQuery;
use ONGR\ElasticsearchDSL\Search; use ONGR\ElasticsearchDSL\Search;
use ONGR\ElasticsearchDSL\Sort\FieldSort; use ONGR\ElasticsearchDSL\Sort\FieldSort;
use ONGR\ElasticsearchDSL\Suggest\Suggest; use ONGR\ElasticsearchDSL\Suggest\TermSuggest;
/** /**
* Test for Search. * Test for Search.
...@@ -266,7 +266,7 @@ class SearchTest extends \PHPUnit_Framework_TestCase ...@@ -266,7 +266,7 @@ class SearchTest extends \PHPUnit_Framework_TestCase
], ],
], ],
], ],
(new Search())->addSuggest(new Suggest('foo', 'bar', ['field' => 'title', 'size' => 2])), (new Search())->addSuggest(new TermSuggest('foo', 'bar', ['field' => 'title', 'size' => 2])),
]; ];
$cases['multiple_suggests'] = [ $cases['multiple_suggests'] = [
...@@ -283,8 +283,8 @@ class SearchTest extends \PHPUnit_Framework_TestCase ...@@ -283,8 +283,8 @@ class SearchTest extends \PHPUnit_Framework_TestCase
], ],
], ],
(new Search()) (new Search())
->addSuggest(new Suggest('foo', 'bar', ['field' => 'title', 'size' => 2])) ->addSuggest(new TermSuggest('foo', 'bar', ['field' => 'title', 'size' => 2]))
->addSuggest(new Suggest('bar', 'foo', ['field' => 'title', 'size' => 2])), ->addSuggest(new TermSuggest('bar', 'foo', ['field' => 'title', 'size' => 2])),
]; ];
return $cases; return $cases;
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
namespace ONGR\ElasticsearchDSL\Tests\Suggest; namespace ONGR\ElasticsearchDSL\Tests\Suggest;
use ONGR\ElasticsearchDSL\Suggest\Suggest; use ONGR\ElasticsearchDSL\Suggest\TermSuggest;
class SuggestTest extends \PHPUnit_Framework_TestCase class SuggestTest extends \PHPUnit_Framework_TestCase
{ {
...@@ -20,9 +20,9 @@ class SuggestTest extends \PHPUnit_Framework_TestCase ...@@ -20,9 +20,9 @@ class SuggestTest extends \PHPUnit_Framework_TestCase
*/ */
public function testSuggestGetType() public function testSuggestGetType()
{ {
$suggest = new Suggest('foo', 'bar'); $suggest = new TermSuggest('foo', 'bar');
$result = $suggest->getType(); $result = $suggest->getType();
$this->assertEquals('suggest', $result); $this->assertEquals('term_suggest', $result);
} }
/** /**
...@@ -31,14 +31,14 @@ class SuggestTest extends \PHPUnit_Framework_TestCase ...@@ -31,14 +31,14 @@ class SuggestTest extends \PHPUnit_Framework_TestCase
public function testSuggestWithoutFieldAndSize() public function testSuggestWithoutFieldAndSize()
{ {
// Case #1 suggest without field and size params. // Case #1 suggest without field and size params.
$suggest = new Suggest('foo', 'bar'); $suggest = new TermSuggest('foo', 'bar');
$expected = [ $expected = ['foo' => [
'text' => 'bar', 'text' => 'bar',
'term' => [ 'term' => [
'field' => '_all', 'field' => '_all',
'size' => 3, 'size' => 3,
], ],
]; ]];
$this->assertEquals($expected, $suggest->toArray()); $this->assertEquals($expected, $suggest->toArray());
} }
...@@ -47,7 +47,7 @@ class SuggestTest extends \PHPUnit_Framework_TestCase ...@@ -47,7 +47,7 @@ class SuggestTest extends \PHPUnit_Framework_TestCase
*/ */
public function testToArray() public function testToArray()
{ {
$suggest = new Suggest( $suggest = new TermSuggest(
'foo', 'foo',
'bar', 'bar',
[ [
...@@ -56,14 +56,14 @@ class SuggestTest extends \PHPUnit_Framework_TestCase ...@@ -56,14 +56,14 @@ class SuggestTest extends \PHPUnit_Framework_TestCase
'analyzer' => 'whitespace', 'analyzer' => 'whitespace',
] ]
); );
$expected = [ $expected = ['foo' => [
'text' => 'bar', 'text' => 'bar',
'term' => [ 'term' => [
'field' => 'title', 'field' => 'title',
'size' => 5, 'size' => 5,
'analyzer' => 'whitespace', 'analyzer' => 'whitespace',
], ],
]; ]];
$this->assertEquals($expected, $suggest->toArray()); $this->assertEquals($expected, $suggest->toArray());
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment