# Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. schema types { document types { field abyte type byte { indexing: index | summary | attribute } field along type long { indexing: index | summary | attribute } field abool type bool { indexing: summary | attribute } field ashortfloat type float16 { indexing: summary | attribute } field arrayfield type array { indexing: attribute } field setfield type weightedset { indexing: attribute match { token } } field setfield2 type weightedset { indexing: attribute weightedset: remove-if-zero weightedset: create-if-nonexistent rank-type: empty } field setfield3 type weightedset { weightedset: remove-if-zero indexing: attribute rank-type: empty match { token } } field setfield4 type weightedset { weightedset: create-if-nonexistent indexing: attribute match { token } } field tagfield type tag { indexing: attribute | summary match { token } } struct sct { field s1 type string {} field s2 type string {} } field structfield type sct { } field structarrayfield type array { } field stringmapfield type map { indexing: index | summary } field intmapfield type map { } field floatmapfield type map { } field longmapfield type map { } field doublemapfield type map { } field arraymapfield type map> { } #field complexfield type map, map>> { #} #field wildcardfield type map { #} #field wildcardfield2 type map { #} field arrarr type array>> {} field maparr type array> {} field complexarray type array< map>> > {} struct mystruct { field bytearr type array{} field mymap type map{} field title type string {} field structfield type string {} } field mystructfield type mystruct {} field mystructmap type map {} field mystructarr type array {} struct folder { field Version type int {} field Name type string {} field FlagsCounter type map {} field anotherfolder type folder {} } field Folders type map {} field juletre type long { indexing: attribute attribute { fast-search } } # Field defined same way as tag field album0 type weightedset { indexing: summary # This is pointless, but weightedset { create-if-nonexistent remove-if-zero } } # Field defined same way as tag field album1 type weightedset { indexing: attribute | summary weightedset { create-if-nonexistent remove-if-zero } } } field pst_sta_boldingoff_nomatch_tag_01 type tag {} field other type long { indexing: input along | attribute } }