2016-08-01 102 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”时才会有结果 –