2016-08-01 125 views
0

如何搜索job_name的ES文檔? 這是文檔的樣子:如何在彈性搜索中搜索文檔

{"_index":"deedloadjobstatus","_type":"DeedExtract","_id":"AVX0UkVKNGSyAbnrJkor","_score":1.0, 
"_source":{"luigi_task_name": "DeedExtract", "job_name": "DeedDowloader2", "successful": 1, 
"start_time": "2016-07-16T20:59:21.000Z", "error_message": null, "month": 7, "end_time": "2016-07-16T20:59:21.000Z", 
"monthname": "Jul", "year": 2016, "runtime": 0, 
"all_params": {"job_name": "DeedDowloader2", "run_date": "2016-07-15"}, 
"@timestamp": "2016-07-16T20:59:21.000Z", "day": 16}} 

我試過以下,但我無法找到。

host:port_number/deedloadjobstatus/_search?jobname:DeedDowloader2 
+0

嘗試'主機:端口號/ deedloadjobstatus/_search作業名稱? deeddowloader2' –

回答

0

您的解決方案應該工作。我想你只是忘了下劃線。 (JOB_NAME,而不是作業名稱

如果你願意,你可以使用詞語查詢:

{ 
    "query": { 
    "term": { 
     "job_name": "DeedDowloader2" 
    } 
    } 
} 

閱讀:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html

+0

只有當'job_name'字段被分析時,術語查詢才能在這種情況下工作,否則這個查詢將不會獲取任何結果 – Richa

+0

我想你的意思是'not_analyzed' @Richa。術語查詢與存儲在倒排索引中的術語匹配。如果分析了該字段,則只有在搜索「deeddowloader2」時纔會有結果 –