Aside from last_updated and status which are created and used by the index itself, and linked_schemas and profile_url which are required by the protocol, the remaining 7 fields (name, primary_url, tags, geolocation, locality, region and country) are fields defined in specific schemas like the Organizations schema.
To make the index more customizable, an index operator should be able to specify which fields to index. These 7 could be default options defined in a configuration file, but an index operator could add others and/or remove one or more of these 7. Only the 4 fields required by the index or protocol need to be fixed.
Enabling this functionality means index operators could specify which fields they choose to index, and multiple index operators could index different fields for a complex schema that has a large dataset.
The 11 fields that are currently indexed in an index are defined directly in the code: https://github.com/MurmurationsNetwork/MurmurationsServices/blob/main/services/index/internal/model/profile.go#L23-L35 https://github.com/MurmurationsNetwork/MurmurationsServices/blob/main/services/index/pkg/index/envvar.go#L32-L44
Aside from
last_updated
andstatus
which are created and used by the index itself, andlinked_schemas
andprofile_url
which are required by the protocol, the remaining 7 fields (name
,primary_url
,tags
,geolocation
,locality
,region
andcountry
) are fields defined in specific schemas like the Organizations schema.To make the index more customizable, an index operator should be able to specify which fields to index. These 7 could be default options defined in a configuration file, but an index operator could add others and/or remove one or more of these 7. Only the 4 fields required by the index or protocol need to be fixed.
Enabling this functionality means index operators could specify which fields they choose to index, and multiple index operators could index different fields for a complex schema that has a large dataset.