Decay scale depending on a field

I have three groups of docs (e.g. docs from registered, verified and unregistered users), and I want to score them using decay function.

However, I need to have different speed of decay (scale) for each of this three groups of documents, so that docs from verified users were around the top longer than docs from unregistered users.

It seems, it is not possible to use doc field as a parameter for a decay function. Maybe, there is some other way to achieve what I want, like writing custom scoring function?

function_score allows you to only apply a function to a subset of your documents matching a given filter. So you should be able to do what you want by having 3 functions that apply a decay and each apply to a different subset of your index?

Looks like it is really what I need. I don't know why I failed to notice "filter" in function_score.

Thanks a lot!