将查询MySQL转换为查询DSL Elasticsearch

时间:2014-09-07 11:51:49

标签: mysql elasticsearch

我是Elasticsearch新研究的第一人

帮我将这个MySQL查询转换为DSL Elasticsearch查询:

SELECT * 
FROM zone_articles 
WHERE data_status = 1 
  AND author = 123456 AND (namespace is NULL OR namespace = '456')

1 个答案:

答案 0 :(得分:0)

有一个奇怪的情况“OR data_status = 1”,我们已经早早检查过了。 对于ES(使用correspoinding查询编辑),查询很简单:

{
    "filtered":
    {
        "filter":
        {
            "bool":
            {
                "must":
                [
                    {"term": {"data_status" : 1}},
                    {"term": {"author" : 123456}},
                    {"term": {"namespace" : "456"}}
                ]
            }
        }
    }
}