DIM*_*Sum 5 elasticsearch symfony-2.3 foselasticabundle
我正在对使用FOS Elastica的存储库进行单元测试,我想知道是否有人知道如何获取查询的字符串版本,而不是数组形式.这是我的存储库方法:
/**
* Creates query object by either first or last name, with given parameters
*
* @param $name
*
* @param array $params
*
* @return Query
*/
public function findByFirstOrLast($name, array $params)
{
$queryString = new QueryString();
$queryString->setQuery($name);
$queryString->setFields(array('firstName', 'lastName'));
$query = new Query();
$query->setQuery($queryString);
$query->setSort(array($params['sort'] => array('order' => $params['direction'])));
return $query;
}
Run Code Online (Sandbox Code Playgroud)
假设$name = 'foo';
(我正在对id进行排序),我相信相应的FOS Elastica查询应该是
{
"query":
{
"query_string":
{
"query":
"foo",
"fields":["firstName","lastName"]
}
},
"sort":
{
"id":
{
"order":"asc"
}
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道如何获得查询的这个json字符串表示?它不一定必须是这种漂亮的格式,它可以是一行字符串.
Sid*_*ity 14
我看到你不再使用它,但我最终需要同样的东西.
在返回$ query之前,您可以使用json_encode($ query-> getQuery() - > toArray()),这应该可以为您提供单线字符串所需的内容.
归档时间: |
|
查看次数: |
5238 次 |
最近记录: |