FOSElasticaBundle выполняет вложенные запросы

Я учусь использовать FOSElasticaBundle, но я не могу выполнить запрос, где есть вложенные поля.

Цель состоит в следующем: искать строку запроса в нескольких полях, включая вложенные.

Моя настройка:

structure:
    mappings:
        name: { boost: 9, type: string }
        locality:
            type: "nested"
            properties:
                locality: { boost: 8, type: string }

Сейчас я запускаю этот код:

$mainQuery = new \Elastica\Query\Bool();
$searchQuery = new \Elastica\Query\QueryString();
$searchQuery->setParam('query', $query);
$searchQuery->setParam('fields', array(
    'name'
));

$searchNested = new \Elastica\Query\QueryString();
$searchNested->setParam('query', $query);
$searchNested->setParam('fields', array(
    'locality'
));
$nestedQuery = new \Elastica\Query\Nested();
$nestedQuery->setPath('locality');
$nestedQuery->setQuery($searchNested);

$mainQuery->addShould($searchQuery);
$mainQuery->addShould($nestedQuery);

$results = $index->search($mainQuery)->getResults();

Но не дает результата!

Как мне создавать запросы с вложенными полями?

0 ответов

Другие вопросы по тегам