【问题标题】:ruflin elastica how to use _source to get certain fieldsruflin elastica 如何使用 _source 获取某些字段
【发布时间】:2018-03-26 12:14:30
【问题描述】:

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

例如:

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

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

谢谢

【问题讨论】:

    标签: php elasticsearch elastica


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-30
      • 2017-05-09
      • 2019-07-06
      • 2019-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多