目前我正在为我当前的项目开发Elastic Search 2.0。 MySqL查询如下,
从user_id
中选择users
,其中subscription_type! =''
在上面的查询中,我需要在弹性搜索中编写,我正在尝试进行弹性搜索,但它正在进行中 请在弹性搜索中找到以下代码
$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_not' => array(
array('term' => array('subscription_type' => ''))
)))
)));
请帮我解决这个问题
答案 0 :(得分:1)
我看到两种可能的情况:
如果订阅类型为空或未出现在您的文档中,那么您可以在must_not
子句中使用missing query而不是术语查询。
另一方面,如果您想排除那些subscription_type
字段包含空字符串的文档,那么您的查询是正确的,但可能您的映射不是。确保映射中subscription_type
被定义为not_analyzed
。