Я использую ElasticSearch 6.8.
Я попытался добавить поле типа ключевого слова в свое отображение индекса. То, что я хочу, это отображение с my_field, которое выглядит так:
"my_field": {
"type": "keyword"
}
Итак, чтобы сделать это, я добавил поле к своему отображению:
"properties": {
...
"my_field": {
"type": "keyword",
"norms": false
},
...
}
Но в настоящее время оно дает мне что-то вроде:
"my_field": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
Мне нужен этот тип ключевого слова, потому что мне нужно агрегировать по нему, и с типом текста, он дал мне:
Fielddata отключен для текста поля по умолчанию. Установите fielddata = true в [my_field], чтобы загрузить полевые данные в память путем инвертирования инвертированного индекса. Обратите внимание, что это может использовать значительную память. Вместо этого используйте поле ключевого слова вместо этого.
Но я не могу установить для fielddata значение true.
Я пробовал много вещей, таких как создание нового индекса вместо обновления одного, но ни один из эти попытки сработали.
Кто-нибудь знает, как получить правильный тип поля? (решение, которое я предпочитаю)
Или как установить для полевых данных значение true в отображении?
С уважением, Жюль