- int rank; // Rank factor. 0 means don't use this field for ranking, 1 is default
- enum
- {
- Metadata_type_generic, // Generic text field
- Metadata_type_integer, // Integer type
- Metadata_type_year // A year
- } type;
- enum
- {
- Metadata_sortkey_no, // This is not to be used as a sortkey
- Metadata_sortkey_numeric, // Standard numerical sorting
- Metadata_sortkey_range, // Range sorting (pick lowest or highest)
- Metadata_sortkey_skiparticle // Skip leading article when sorting
- } sortkey;
- enum
- {
- Metadata_merge_no, // Don't merge
- Metadata_merge_unique, // Include unique elements in merged block
- Metadata_merge_longest, // Include the longest (strlen) value
- Metadata_merge_range, // Store value as a range of lowest-highest
- Metadata_merge_all // Just include all elements found
- } merge;
+ int rank; // Rank factor. 0 means don't use this field for ranking,
+ // 1 is default
+ // values >1 give additional significance to a field
+ int sortkey_offset; // -1 if it's not a sortkey, otherwise index
+ // into service/record_cluster->sortkey array
+ enum conf_metadata_type type;
+ enum conf_metadata_merge merge;