弹性搜索查询语法

时间:2017-11-13 08:37:58

标签: elasticsearch elastic-stack elasticsearch-5

我正在尝试根据以下查询检索文档:

POST _search
{
    "size": 1, 
    "filter": {
        "bool": {
            "must": [
               {
                   "range":{
                        "myfield": {
                            "from": "yyyy-mm-ddT00:00:00Z",
                            "to": "yyyy-mm-ddT00:00:00Z"
                        }
                    }
               },
                {"term": {"myfield1.myfield2" : "myvalue"}}
            ]
        }
    }
}

不返回任何结果。我的语法可能有问题。如果有人能提供帮助我会很感激。

这是文档的结构:

"_source": {
    "myfield": "yyyy-mm-ddT00:00:00",
    "myfield1": {
        "myfield2": "myvalue"
    }
}

1 个答案:

答案 0 :(得分:1)

term查询的字段不正确。

而不是:

{"term": {"myfield.myfield1.myfield2" : "myvalue"}}

试试这个:

{"term": {"myfield1.myfield2" : "myvalue"}}