У меня есть некоторые данные в Elasticsearch (версия 6.7), многие из полевых документов являются ключевыми словами, использующими boolean
сходство. И когда я смотрю на данные во вкладке обнаружения, это выглядит великолепно.
Однако, когда я иду к визуализации и пытаюсь создать гистограмму по одному из этих полей (например, browser_name
). Имя поля теперь выглядит как browser_name.keyword
. И запрос возвращается без результатов.
Когда я проверяю запрос, я вижу, что он фактически использует значение browser_name.keyword
, и когда я изменяю его вручную, я получаю данные обратно (некоторые снимки экрана ниже). Может кто-нибудь сказать мне, почему инструмент визуализации добавляет это в?
Это показывает имя браузера в качестве метки поля (и некоторые примеры значений, как я вижу в представлении Обнаружения)

И это из вкладки визуализаций, где она дает мне .keyword
добавленный (и не может быть переопределен)

И, как уже упоминалось ранее, если я проверяю свою вкладку сети и получаю запрос напрямую, я получаю
{
"aggs": {
"2": {
"terms": {
"field": "browser_name.keyword",
"size": 5,
"order": {
"_count": "asc"
}
}
}
},
"size": 0,
"_source": {
"excludes": []
},
"stored_fields": [
"*"
],
"script_fields": {},
"docvalue_fields": [
{
"field": "timestamp",
"format": "date_time"
}
],
"query": {
"bool": {
"must": [
{
"range": {
"timestamp": {
"gte": 1568520000000,
"lte": 1569038399999,
"format": "epoch_millis"
}
}
}
],
"filter": [
{
"match_all": {}
},
{
"match_all": {}
}
],
"should": [],
"must_not": []
}
},
"timeout": "30000ms"
}
, который также имеет неверное имя поля. Если я изменю это значение на browser_name
, я получу результаты, которые ожидаю увидеть