我正在为我目前的项目进行弹性搜索。我需要一个过滤器的用户基于他们的行业。请看我的密码一次。和mySql查询如下:
SELECT U.* FROM `users` `U`
JOIN `user_industries` `UI` ON `UI`.`user_id`=`U`.`id`
WHERE `UI`.`industry_id` IN('1','3','5');
$query = array("from" => $start,
"size" => $recordslimit,
"sort" => array(array('id' => 'desc')),
"query" => array(
"filtered" => array(
"query" => array("match_all" => array()),
"filter" => array(
"bool" => array(
'must' => array(array('term' => array('user_type' => 'v')),
array('term' => array('status' => 'a')),
array('term' => array('industries.id' => 1))
),
'must_not' => array(
array('term' => array('subscription_type' => 'n'))
)
))
)));我通过了一个行业价值。如何传递多个行业价值观?
发布于 2015-11-30 08:44:13
开局不错!!您可以通过使用 filter而不是term来实现您想要的结果,并在array()中指定值1, 3, 5。
...
array('terms' => array('industries.id' => array(1, 3, 5)))
...https://stackoverflow.com/questions/33994436
复制相似问题