如何在弹性搜索中使用此mysql查询

时间:2016-10-21 05:50:58

标签: mysql elasticsearch

实际上我想从我的数据库中获取那些描述为空白的记录,在我的结果的mysql查询下面以及在弹性搜索中应该查询同样的结果?

SELECT * FROM products WHERE description!='';

1 个答案:

答案 0 :(得分:1)

弹性搜索查询如下所示

PUT http://localhost:9200/<index>/<indextype>/_mapping
{
  "products": {
    "properties": {
      "description": {
        "type": "string",
        "index": "not_analyzed"
      }
    }
  }
}

仍然无法正常工作,请检查您的映射应该是这样的。

{
  "query": {
    "filtered": {
      "filter": {
        "bool":{
          "must":{},
          "should":{},
          "must_not":{
             "missing":{
                "field":"description",
                "existence":true,
                "null_value":true
                }
            }
        }
      }
    }
  }
}

如果您希望结果包含说明!='',请使用以下查询。

Bool过滤器的Must-Not部分中的

Missing Filter。它只返回字段存在的文档,如果将“null_value”属性设置为true,则显式为非null的值。

window