Implementations of this interface provide, optionally, objects that can be used to modify and influence the results of endpoints like Recommend , Similarity , etc. It is a means to inject business logic into the results of the ALS application endpoints. Implementations of this class are factories. An implementation creates and configures a Rescorer rescoring object and returns it for use in the context of oneof the endpoints' operation. For example, the result of #getRecommendRescorer(List,List) is used with Recommend . The Rescorer filters the candidates recommendations by item ID( Rescorer#isFiltered(String) ) or modifies the scores of item candidates that are not filtered ( Rescorer#rescore(String,double) ) based on the item ID and original score. The factory methods take several optional String arguments. These are passedfrom the REST API, as several String s, from URL parameter rescorerParams . The implementation may need this information to initialize its rescoring logic for the request. For example, the argument may be the user's current location, used to filter results by location. For example, a request containing ...?rescorerParams=xxx,yyy,zzz will result in an args parameter with one elements, xxx,yyy,zzz . A request containing ...?rescorerParams=xxx&...rescorerParams=yyy&...rescorerParams=zzz... will result in an args parameter with 3 elements, xxx , yyy , zzz .