上一篇我們已經學會了使用kibana來查詢Elasticsearch資料,但有時候這種簡單預設的查詢功能,也無法滿足需求時,可能就需要使用Query DSL來查詢資料。
Query DSL是一種非常靈活又富有表現力的查詢語言,採用JSON接口來實現查詢功能,並讓你的查詢語法更靈活、更精確、更昜和易除錯。
簡單的DSL語法如下:
{
    "query": {
        "match_all": {} //your query parameter
    }
}
基本的查詢結構:
{
    QUERY_NAME: {
        ARGUMENT: VALUE,
        ARGUMENT: VALUE,...
    }
}
特定欄位查詢結構:
{
    QUERY_NAME: {
        FIELD_NAME: {
            ARGUMENT: VALUE,
            ARGUMENT: VALUE,...
        }
    }
}
查詢語法範例:
{
    "query": {
        "match": {
            "field": "value"
        }
    }
}
接下來我們來準備執行下列語法:
{
    "query": {
        "match": {
            "manufacturer": "Tigress"
        }
    }
}
接下來我們將會從kibana介面,開啟Query DSL輸入框,輸入要查詢的語法。
Add filter -> Edit as Query DSL