Multimatch and multiple function scores

Hi,

I'd like to increase/decrease the scores of the results from a multimatch query with several function scores.

This following code works :

FunctionScoreQueryBuilder functionScoreQuery = QueryBuilders.functionScoreQuery(
multiMatchQuery,
ScoreFunctionBuilders.gaussDecayFunction("creationdate", "now", "60d", "30d", 0.5)
)
.scoreMode(ScoreMode.MULTIPLY)
.boostMode(CombineFunction.SUM);

But I have a problem using FilterFunctionBuilder[], I lose the scores of the multi match :

FilterFunctionBuilder[] filterFunctions = {
new FunctionScoreQueryBuilder.FilterFunctionBuilder(
multiMatchQuery,
ScoreFunctionBuilders.gaussDecayFunction("creationdate", "now", "60d", "30d", 0.5)
)
};
FunctionScoreQueryBuilder functionScoreQuery = QueryBuilders.functionScoreQuery(filterFunctions)
.scoreMode(ScoreMode.MULTIPLY)
.boostMode(CombineFunction.SUM);

What's wrong please ? Should I use "should" instead of "function score" ?

Thank you

Ok the solution is :

FilterFunctionBuilder[] filterFunctions = {
new FunctionScoreQueryBuilder.FilterFunctionBuilder(
ScoreFunctionBuilders.gaussDecayFunction("creationdate", "now", "60d", "30d", 0.5)
)
};

FunctionScoreQueryBuilder functionScoreQuery = QueryBuilders.functionScoreQuery(
multiMatchQuery,
filterFunctions
)

Sorry for the confusion

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.