public void putStructure(String tableName, Mappings mapping, Map<String, Object> settings) {
        if (CollectionUtils.isNotEmpty(settings) && Objects.nonNull(settings.get("index"))) {
            this.indexSettingStructures.putIfAbsent(tableName, new UpdatableIndexSettings(
                (Map<String, Object>) settings.get("index")));
        }
        if (Objects.isNull(mapping)
            || Objects.isNull(mapping.getProperties())
            || mapping.getProperties().isEmpty()) {
            return;
        }
        Fields fields = new Fields(mapping);
        if (mappingStructures.containsKey(tableName)) {
            mappingStructures.get(tableName).appendNewFields(fields);
        } else {
            mappingStructures.put(tableName, fields);
        }
    }
Add or append mapping/settings when the current structures don't contain the input structure or having
new fields in it.
oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/IndexStructures.java