Doctrine ORM для эластичного поискового запроса

Привет, ребята, я бьюсь головой об эту вещь в данный момент. Я пытаюсь преобразовать его в эластичный поисковый запрос, например

    $boolQuery = new \Elastica\Query\BoolQuery();
    $fieldQuery = new \Elastica\Query\Match();
    $fieldQuery->setFieldQuery('title', 'searchTern');
    $boolQuery->addShould($fieldQuery);

.. но моя борьба пока напрасна :(. Я новичок в elasticsearch, так что простите меня, если это простой вопрос, но я не смог найти понятный (для меня) эквивалент соединения. Заранее спасибо.

Это мой ORM-запрос Doctrine:

   return $this->createQueryBuilder('article')
                    ->addSelect('aTrans')
                    ->join('article.translations', 'aTrans')
                    ->join('NameSpace\Entity\Article', 'front',
                               'WITH', 'front.article = article')
                    ->andWhere('aTrans.locale = :locale')
                    ->setParameter("locale", $locale)
                    ->andWhere('article.isActive = true')
                    ->orderBy('article.createdAt', 'DESC')
                    ->setMaxResults($limit)

person Filchev    schedule 23.06.2016    source источник


Ответы (1)


В elasticsearch вы на самом деле не выполняете соединения. Elasticsearch получает свою скорость от работы с денормализованными данными. В основном это означает, что у вас есть все данные, которые вам нужны в индексе. Ознакомьтесь с документацией по elasticsearch здесь.

Вам также следует прочитать эту документацию по elasticsearch.

person Lucas Granberg    schedule 24.08.2016