1

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();

しかし、結果は返されません!

ネストされたフィールドを含むクエリを作成するにはどうすればよいですか?

4

0 に答える 0