Php 筛选器查询:弹性搜索中不为空
目前我正在为我当前的项目进行弹性搜索2.0。MySqL查询如下: 从Php 筛选器查询:弹性搜索中不为空,php,mysql,
elasticsearch,Php,Mysql,
elasticsearch,目前我正在为我当前的项目进行弹性搜索2.0。MySqL查询如下: 从userswhere subscription\u type!=''中选择user\u id 在上面的这个查询中,我需要在弹性搜索中编写,我正在弹性搜索中尝试,但它得到了支持 请在弹性搜索中查找以下代码 $query = array("from" => $start, "size" => $recordslimit, "sort" => array(array('
users
where subscription\u type!=''中选择user\u id
在上面的这个查询中,我需要在弹性搜索中编写,我正在弹性搜索中尝试,但它得到了支持
请在弹性搜索中查找以下代码
$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' => ''))
)))
)));
请帮我解决这个问题我看到两种可能的情况: 如果订阅类型为null或未出现在文档中,则可以在
must\u not
子句中使用而不是术语查询
另一方面,如果要排除那些
subscription\u type
字段中包含空字符串的文档,则查询是正确的,但映射可能不是。确保在映射中将subscription\u type
定义为未分析的。查看我的答案,可能会有所帮助。只是提醒一下,如果您发布地图和一小部分文档,以便我们重现您的问题,我们将更容易帮助您。