FOSElasticaBundle执行嵌套查询

时间:2014-02-01 01:15:08

标签: symfony elasticsearch symfony-2.3 elastica foselasticabundle

我正在学习使用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();

但是没有结果!

如何使用嵌套字段创建查询?

0 个答案:

没有答案