我对Elasticsearch很新,所以这是我的问题.我想用elasticsearch做一个搜索查询,想要用多个术语过滤.
如果我想搜索用户'tom',那么我希望所有匹配的用户'isActive = 1','isPrivate = 0'和'isOwner = 1'.
这是我的搜索查询
"query":{
"filtered": {
"query": {
"query_string": {
"query":"*tom*",
"default_operator": "OR",
"fields": ["username"]
}
},
"filter": {
"term": {
"isActive": "1",
"isPrivate": "0",
"isOwner": "1"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用2个术语时,它就像一个魅力,但当我使用3个术语时却没有.
谢谢您的帮助!!
我有一张名为'匹配'的足球比赛桌.在该表中有一个字段'kickoff',它是匹配开始时的datetime-column.使用以下代码,我可以获得表格中的所有匹配项.
$matches = $em->createQueryBuilder()
->select('m')
->from('FootballWcBundle:Matches', 'm')
->addOrderBy('m.kickoff', 'ASC')
->getQuery()
->getResult();
return $this->render('FootballWcBundle:Page:matches.html.twig', array(
'matches' => $matches
));
Run Code Online (Sandbox Code Playgroud)
现在我想显示按日期分组的屏幕上的匹配项.像这样:
二〇一四年十二月十二日
MATCH1
MATCH2
14-12-2014
MATCH3
match4
match5
有没有办法让Twig知道如何通过启动列进行分组,还是有另一种方法可以做到这一点?