A few thoughts occurred to me today about our indexing code: 1) we compute a hash preset for each invocation, crunching the syntax and matching rule's OID, among other things. (It used to be worse, we used to recompute this for each individual value, even though it's a constant.) There's no need to always recompute this on each invocation, we can compute it once at first usage and reuse that result. It should speed up index generation, particularly on smaller attribute values. I'm preparing a patch to test this now. 2) using this precomputed hash, we can drop the syntax, mr, and prefix arguments from the indexer function signature. That will also speed things up. 3) I note that the 'use' argument is also never used in our indexer functions. Will drop this as well.