public final class RecommendToManyServlet extends AbstractMyrrixServlet
Responds to a GET request to
/recommendToMany/[userID1](/[userID2]/...)(?howMany=n)(&considerKnownItems=true|false)(&rescorerParams=...)
and in turn calls
MyrrixRecommender.recommendToMany(long[], int, boolean, IDRescorer).
If howMany is not specified, defaults to
AbstractMyrrixServlet.DEFAULT_HOW_MANY. If considerKnownItems is not specified,
it is considered false.
Unknown user IDs are ignored, unless all are unknown, in which case a
HttpServletResponse.SC_BAD_REQUEST status is returned.
Output is in CSV or JSON format. Select output format using the HTTP Accept header.
CSV output contains one recommendation per line, and each line is of the form itemID, strength,
like 325, 0.53. Strength is an opaque indicator of the relative quality of the recommendation.
JSON output is an array of arrays, with each sub-array containing an item ID and strength.
Example: [[325, 0.53], [98, 0.499]].
ALL_PARTITIONS_REF_KEY, LOCAL_INPUT_DIR_KEY, PARTITION_KEY, READ_ONLY_KEY, RECOMMENDER_KEY, RESCORER_PROVIDER_KEY, TIMINGS_KEY| Constructor and Description |
|---|
RecommendToManyServlet() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
doGet(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
protected Long |
getUnnormalizedPartitionToServe(javax.servlet.http.HttpServletRequest request) |
getConsiderKnownItems, getHowMany, getRecommender, getRescorerParams, getRescorerProvider, getTiming, init, output, servicedoDelete, doHead, doOptions, doPost, doPut, doTrace, getLastModified, serviceprotected void doGet(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws IOException
doGet in class javax.servlet.http.HttpServletIOExceptionprotected Long getUnnormalizedPartitionToServe(javax.servlet.http.HttpServletRequest request)
getUnnormalizedPartitionToServe in class AbstractMyrrixServletrequest - request containing info that may determine which partition needs to serve itnull if any partition may serve, or an integral value that should be used to
determine the partiiton. This is usually an ID value, which will be possibly hashed and
reduced modulo the number of partitions.Copyright © 2012-2013 Myrrix Ltd. All Rights Reserved.