Elasti c поиск не распознает мой список объектов как вложенный тип. Я бы хотел, чтобы это происходило автоматически, без необходимости обновлять сопоставление для каждого такого поля. Мне нужен ответ _mappings api, чтобы иметь какой-то идентификатор, который различает свойства, относящиеся к типу списка.
Например: когда я индексирую такой документ в новом тестовом индексе ('mapping_index')
{
"text":"value",
"list":[{"a":"b","c":"d"},{"a":"q","c":"f"}]
}
и api сопоставлений попаданий
localhost: 9200 / mapping_index / _mapping
Я получаю
{
"mapping_index": {
"mappings": {
"_doc": {
"properties": {
"list": {
"properties": {
"a": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"c": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
},
"text": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}
Я бы хотел что-то например,
"type" : "nested"
для ключа «список» в этом ответе, чтобы другая служба, использующая эти поля, хранящиеся в ES, могла сообщить, что этот «список» является многозначным ключом.
I Я читал о шаблонах Dynami c и думаю, что это может мне помочь, но я не совсем уверен (https://www.elastic.co/guide/en/elasticsearch/reference/current/dynamic-templates.html).
Любая помощь приветствуется.