У меня есть Spark DataFrame схемы:
|-- ROW_ID: string (nullable = true)
|-- SUBJECT_ID: string (nullable = true)
|-- HADM_ID: string (nullable = true)
|-- CHARTDATE: string (nullable = true)
|-- CHARTTIME: string (nullable = true)
|-- STORETIME: string (nullable = true)
|-- CATEGORY: string (nullable = true)
|-- DESCRIPTION: string (nullable = true)
|-- CGID: string (nullable = true)
|-- ISERROR: string (nullable = true)
|-- TEXT: string (nullable = true)
|-- annotations: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- text: string (nullable = true)
| | |-- subject: string (nullable = true)
| | |-- polarity: integer (nullable = false)
| | |-- confidence: float (nullable = false)
| | |-- historyOf: integer (nullable = false)
| | |-- ontologyMappings: array (nullable = true)
| | | |-- element: struct (containsNull = true)
| | | | |-- preferredText: string (nullable = true)
| | | | |-- codingScheme: string (nullable = true)
| | | | |-- code: string (nullable = true)
| | | | |-- cui: string (nullable = true)
| | | | |-- tui: string (nullable = true)
Я индексирую всю эту структуру в ElasticSearch, но ни поле аннотаций (Array of StructTypes), ни поле ontologyMappings не отображаются как вложенныесхемы.Например, отображение ontologyMappings показано ниже:
"ontologyMappings": {
"properties": {
"code": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"codingScheme": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"cui": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"preferredText": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"code": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
Есть ли способ заставить их записываться как вложенные типы, а не просто как объекты с полями свойств?Я хотел бы иметь возможность запускать запросы, которые находят документы, которые содержат экземпляр, где код представляет собой конкретную строку, а связанная полярность равна 1 (в разделе ontologyMappings).Без вложения эта ассоциация невозможна.