我正在嘗試使用以下查詢運行ElasticSearch搜索。請原諒我的無知,因爲我是ES新手,而且我試着按照文檔試驗和錯誤的方法拼湊起來。基本上,按照預期工作的唯一部分是來自,尺寸,排序以及嚴重程度的匹配。預先感謝您的協助!ElasticSearch不返回預期結果
{
"from":0,
"size":50,
"sort":{"timestamp":{"order":"desc"}},
"query":[
{
"range":{
"timestamp":{"gte":"2013-11-18T05:00:00+00:00","lte":"2013-12-02T05:00:00+00:00"}
}
},
{
"query":{
"match":{"severity":{"query":"medium","operator":"or"}}
}
},
{
"query":{
"constantScore":{
"filter":{
"query":{
"query_string":{"default_field":"_all","query":"10.1.10.22"}
}
}
}
}
}
]
}
您的問題沒有足夠的詳細信息。你的數據是什麼?你想做什麼?你在期待什麼?你回來了什麼?包括這些樣本;最好包括插入數據示例的請求。 –
對不起,缺乏細節。我的目標是根據用戶的輸入返回數據。用戶將提供開始/結束日期,嚴重程度(低,中,高)和搜索關鍵字。我正在收到結果,但未按照我預期的方式進行過濾。看來所有的日期範圍都被返回,以及結果沒有被query_string查詢中的字符串過濾。 – SpacePope
您需要閱讀ES的查詢DSL才能編寫正確的查詢。你查詢是完全錯誤的。在你的情況下,你需要一個查詢來查詢「搜索關鍵字」,以及一些過濾器來過濾「開始/結束」,「服務器」。兩者都可以在搜索請求中執行。 –