One Sphinx attribute per skill is terrible design.
Not only is it very memory hungry (and we're starting to see the effects on Tetroxide), it requires a full reindex after each patch (because they usually add new skills).
Another solution instead is to either
Store a list of required skills in ONE Sphinx attribute (not sure if it will reduce the memory usage by a lot)
Don't store skills in Sphinx, instead cache required skills in formatLoadoutGridLayout() (with pehaps a custom attribute, and add a hook to see if current character, as of rendering time, can fly it or not).
One Sphinx attribute per skill is terrible design.
Not only is it very memory hungry (and we're starting to see the effects on Tetroxide), it requires a full reindex after each patch (because they usually add new skills).
Another solution instead is to either
formatLoadoutGridLayout()
(with pehaps a custom attribute, and add a hook to see if current character, as of rendering time, can fly it or not).