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();
Но не дает результата!
Как мне создавать запросы с вложенными полями?