Merge pull request #1395 from jygaulier/PHRAS-442_FACETS-IN-API

PHRAS-442
This commit is contained in:
Benoît Burnichon
2015-06-29 17:55:56 +02:00
5 changed files with 47 additions and 15 deletions

View File

@@ -3,6 +3,8 @@
namespace Alchemy\Phrasea\SearchEngine\Elastic\Search;
use Alchemy\Phrasea\Exception\RuntimeException;
use Alchemy\Phrasea\SearchEngine\SearchEngineSuggestion;
use Doctrine\Common\Collections\ArrayCollection;
use JsonSerializable;
class FacetsResponse implements JsonSerializable
@@ -31,6 +33,23 @@ class FacetsResponse implements JsonSerializable
}
}
/**
* @return ArrayCollection
*/
public function getAsSuggestions()
{
$suggestions = new ArrayCollection();
// for es, suggestions are a flat view of facets (api backward compatibility)
foreach ($this->facets as $facet) {
foreach ($facet['values'] as $value) {
$suggestions->add(new SearchEngineSuggestion($value['query'], $value['value'], $value['count']));
}
}
return $suggestions;
}
private function buildBucketsValues($name, $buckets)
{
$values = array();