FOSElasticaBundle の使い方を学んでいますが、ネストされたフィールドがあるクエリを実行できません。
目的はこれです: ネストされたフィールドを含む複数のフィールドで query_string を探すこと。
私のセットアップは次のとおりです。
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();
しかし、結果は返されません!
ネストされたフィールドを含むクエリを作成するにはどうすればよいですか?