目前我正在为我当前的项目开发 Elastic Search 2.0。 MySqL查询如下,
从 users
中选择 user_id
,其中 subscription_type ! = ''
在上面的查询中,我需要在 Elastic Search 中编写,我正在尝试在 Elastic Search 中,但它越来越 请在 Elasticsearch 中找到以下代码
$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' => ''))
)))
)));
请帮我解决这个问题
最佳答案
我看到两种可能的情况:
如果订阅类型为空或未出现在您的文档中,那么您可以使用 missing query而不是 must_not
子句中的术语查询。
另一方面,如果您想排除那些 subscription_type
字段包含空字符串的文档,那么您的查询是正确的,但您的映射可能不正确。确保 subscription_type
在映射中定义为 not_analyzed
。
关于php - 过滤查询 : Not null in elastic search,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33969969/