Почему фильтр asticsearch не дает никаких результатов, тогда как использование панели управления Kibana дает результат?
Я запрос эластичный поиск, используя смысл. При использовании фильтра диапазона на поле я получаю пустые попадания, но я могу получить результаты, используя панель управления kibana. Почему фильтр не работает? Мой запрос:
GET _search
{
"query": {
"bool": {
"must": [
{"match": {"field_name1": "value1"}},
{"match": {"file_name2": "value2"}}
]
}
},
"filter": { <- not working (no data, but gets data from kibana)
"range": {
"@timestamp": {
"gte": "2017-02-18"
}
}
},
"sort": [
{
"@timestamp": {
"order": "desc",
"ignore_unmapped" : true
}
}
]
}
Из кибана приборной панели, когда я добавляю время, он добавляет time:(from:'2017-02-18T10:19:08.680Z',mode:absolute,to:'2017-02-19T10:19:08.680Z'))
и я могу видеть результаты. Панель инструментов также добавляет некоторые другие вещи, такие как метаданные и фильтр с отрицанием, но я думаю, что они делают то же самое. Только часть времени кажется другой. Так почему же разница и мой запрос правильный? Пример URL:
https://elasticsearch/app/kibana#/discover?
_g=(refreshInterval:(display:Off,pause:!f,value:0),time:(from:'2017-02-18T09:23:41.044Z',mode:absolute,to:'2017-02-19T09:23:41.044Z'))
&_a=(columns:!(description,id),filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:index-value,key:field_name1,negate:!f,value:value1),query:(match:(field_name2:(query:value2,type:phrase))))),index:index-value,interval:auto,query:(query_string:(analyze_wildcard:!t,query:'*')),sort:!('@timestamp',desc),uiState:(),vis:(aggs:!((params:(field:field_name2,orderBy:'2',size:20),schema:segment,type:terms),(id:'2',schema:metric,type:count)),type:histogram))
&indexPattern=index-value&type=histogram
Благодарю.
Пример ответа JSON:
{
"took": some_number,
"timed_out": false,
"_shards": {
"total": some_number,
"successful": some_number,
"failed": 0
},
"hits": {
"total": some_number,
"max_score": null,
"hits": [
{
"_index": "index-name",
"_type": "log-1",
"_id": "alphanum",
"_score": null,
"_source": {
"headers": "header-string",
"query_string": "query-string",
"server_variables": "server-variables",
"cookies": "cookies",
"extra_data": "some extra stuff",
"exception_data_obj": {
"stack_trace": "",
"source": "",
"message": "success",
"additional_data": ""
},
"some_id": "211FA1F1-F312-1234-B539-F7AAE23EAA2F",
"level": "Warn",
"description": "Success",
"@timestamp": "2017-01-20T01:33:27.303Z",
"field1": "value1",
"field2": "value2"
"key": {
"key.field1": "key.value1",
"key.field2": "key.value2"
}
"@by": "app-name",
"environment": "env-name"
},
"sort": [
1484876007303
]
},
{}
]
}
}
1 ответ
Это не тот же запрос, в том смысле, что вы запросили запрос на field1 и field2, но в кибане вы этого не сделали