Como classificar os resultados da pesquisa em vários campos usando uma função de ponderação?

Tenho um índice Lucene em que todos os documentos têm vários campos que contêm valores numéricos. Agora eu gostaria de classificar o resultado da pesquisa em uma soma ponderada desse campo. Por exemplo

field1=100
field2=002
field3=014

E a função de ponderação se parece com:

f(d) = field1 * 0.5 + field2 * 1.4 + field3 * 1.8

Os resultados devem ser solicitados porf(d) Onded representa o documento. A função de classificação deve ser não estática e pode diferir de pesquisa para pesquisa, porque os fatores constantes são influenciados pelo usuário que realiza a pesquis

lguém tem uma idéia de como resolver isso ou talvez uma idéia de como atingir esse objetivo de outra maneir

questionAnswers(4)

yourAnswerToTheQuestion