public void addFieldIndexingType(Symbol fieldDefinition, IndexingType indexingType) {
        insertFieldDefinition(fieldDefinition);

        FieldIndexEntry entry = database.get(fieldDefinition);
        entry.indexingTypes.add(indexingType);

        // Attribute propagates from struct-field
        if (indexingType == IndexingType.ATTRIBUTE 
                && fieldDefinition.getScope() != null 
                && fieldDefinition.getScope().getType() == SymbolType.FIELD
                && fieldDefinition.getScope().getStatus() == SymbolStatus.DEFINITION) {
            addFieldIndexingType(fieldDefinition.getScope(), indexingType);
        }
    }
FieldIndex
For storing metadata about fields.
It is owned by a SchemaIndex, so there is a one-to-one correspondence
integration/schema-language-server/language-server/src/main/java/ai/vespa/schemals/index/FieldIndex.java