Grant, let me see if I can expand this, as it were: {!benson f1:v1 f2:v2 f3:v3} (or do I mean {!query defType='benson' ...}?)
I see how that could expand to be anything else I like. However, the Function side has me a little more puzzled. The information from the fields inside my {! ... } gets turned into an object, and that object goes into the code that can scores a document based on values a small slew of other fields, and it's too costly to reconstruct for each result. I'm thinking that this still calls for a request handler just to hold the state, but perhaps I'm missing something? Thanks for the help, benson