FosElasticaBundle - сортировать результаты с помощью объекта сортировки - PullRequest
0 голосов
/ 27 августа 2018

Я использую FosElasticaBundle для некоторых довольно простых запросов, и это работает довольно хорошо, к сожалению документация довольно пуста, когда речь идет о том, «как отсортировать результаты с помощью объекта сортировки». »...
Кто-нибудь сможет объяснить мне, как использовать мой объект сортировки?

/**
 * @Route("/search-test", name="searchTest")
 */
public function searchTestAction()
{
    $finder    = $this->container->get('fos_elastica.finder.foo.bar');
    $mainBool  = new BoolQuery();
    $boolQuery = new BoolQuery();

    $matchName = new Fuzzy();
    $matchName->setField('company.name', 'foo');
    $boolQuery->addMust($matchName);

    $rangeNum = new Range();
    $rangeNum->addField('company.numeric', ['gt' => 250, 'lt' => 800]);
    $boolQuery->addMust($rangeNum);

    $nested = new Nested();
    $nested->setPath('company')->setQuery($boolQuery);
    $mainBool->addMust($nested);

    // What should I do with this pretty Sort object ? :)
    $sort = new Sort('company.numeric');
    $sort->setOrder('ASC');

    $data = $finder->findPaginated($mainBool, ['from' => 2, 'size' => 12]);

    return $this->render('default/test/search.html.twig', [
        'data' => $data,
    ]);   
}

игнорировать сам запрос, он просто иллюстрирует необходимость

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...