ruflin elastica 如何使用 _source 获取某些字段

ruflin elastica how to use _source to get certain fields

如何使用_source获取ruflin elastica中的某些字段。 请建议如何使用它。

例如:

{
"_source": {"user", "message"},
"query" : {
    "term" : { "user" : "kimchy" }
}
}

如何将其转换为 ruflin elastica。 请帮忙。

谢谢

查询class提供了setSource方法来添加字段列表,作为数组,要检索。

我使用 ruflin/elastica v3.2 和 ElasticSearch 2.4 进行查询的一些代码可以是:

$search = new Search(new Elastica\Client());    
$query = new Elastica\Query();
$query->setSource(['user', 'message']

$boolQuery = new Elastica\Query\BoolQuery();
$boolQuery->addMust(new Term(['user' => 'kimchy']));

$query->setQuery((new BoolQuery())->addMust(new MatchAll())->addFilter($boolQuery));
$search->setQuery($query);

try {
        $resultSet = $search->search();
} catch (ResponseException $exception) {
    // code
}

$results = $resultSet->getResults();