For characteristics that exist across all documents we keep these as fields in a collection, these form the common schema part
Many fields may result in many index, for these we may use attribute pattern
"field1": "a"
"field2": "b"
"field3": "c"
becomes:
"add_specs": [
{ "k": "field1", "v": "a" },
{ "k": "field2", "v": "b" },
{ "k": "field3", "v": "c" }
]
db.<collection>.createIndex( {"add_specs.k": 1, "add_specs.v": 1 } )