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

时间:2018-03-26 12:14:31

标签: php elasticsearch elastica

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

对于Ex:

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

我怎样才能将其转换为ruflin elastica。 请帮忙。

由于

1 个答案:

答案 0 :(得分:0)

Query类提供了一个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();