Files
Phraseanet/lib/Alchemy/Phrasea/Search/V1SearchTransformer.php
Jean-Yves Gaulier 827e4fe255 PHRAS-842_search-logged-as-es_4.0
- fix : query is logged in a "user" form, before parsing
2016-09-22 15:16:36 +02:00

45 lines
1.5 KiB
PHP

<?php
/*
* This file is part of Phraseanet
*
* (c) 2005-2016 Alchemy
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Alchemy\Phrasea\Search;
use Alchemy\Phrasea\SearchEngine\SearchEngineSuggestion;
use League\Fractal\TransformerAbstract;
abstract class V1SearchTransformer extends TransformerAbstract
{
protected $availableIncludes = ['results'];
protected $defaultIncludes = ['results'];
public function transform(SearchResultView $resultView)
{
$result = $resultView->getResult();
return [
'offset_start' => $result->getOptions()->getFirstResult(),
'per_page' => $result->getOptions()->getMaxResults(),
'available_results' => $result->getAvailable(),
'total_results' => $result->getTotal(),
'error' => (string)$result->getError(),
'warning' => (string)$result->getWarning(),
'query_time' => $result->getDuration(),
'search_indexes' => $result->getIndexes(),
'suggestions' => array_map(
function (SearchEngineSuggestion $suggestion) {
return $suggestion->toArray();
}, $result->getSuggestions()->toArray()),
'facets' => $result->getFacets(),
'query' => $result->getEngineQuery(),
];
}
abstract public function includeResults(SearchResultView $resultView);
}