2016-08-01 1 views
0

Как найти документ ES из job_name? Это как документ выглядит следующим образом:Как найти документ в Эластическом поиске

{"_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 JobName: deeddowloader2' –

ответ

0

Ваше решение должно работать. Я думаю, вы просто забыли подчеркнуть. (job_name и не JobName)

Если вы хотите, вы можете использовать термин запрос:

{ 
    "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' –

Смежные вопросы