如何使用_source获取ruflin elastica中的某些字段。 请建议如何使用它。
对于Ex:
{
"_source": {"user", "message"},
"query" : {
"term" : { "user" : "kimchy" }
}
}
我怎样才能将其转换为ruflin elastica。 请帮忙。
由于
答案 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();