net.myrrix.web.servlets
Class RecommendToManyServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by net.myrrix.web.servlets.AbstractMyrrixServlet
              extended by net.myrrix.web.servlets.RecommendToManyServlet
All Implemented Interfaces:
Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

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.

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]].

Author:
Sean Owen
See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.myrrix.web.servlets.AbstractMyrrixServlet
ALL_PARTITIONS_KEY, LOCAL_INPUT_DIR_KEY, NUM_PARTITIONS_KEY, PARTITION_KEY, RECOMMENDER_KEY, RESCORER_PROVIDER_KEY, TIMINGS_KEY
 
Constructor Summary
RecommendToManyServlet()
           
 
Method Summary
protected  void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
protected  Integer getPartitionToServe(javax.servlet.http.HttpServletRequest request, int numPartitions)
           
 
Methods inherited from class net.myrrix.web.servlets.AbstractMyrrixServlet
determineResponseType, getConsiderKnownItems, getHowMany, getRecommender, getRescorerParams, getRescorerProvider, getTiming, init, output, service
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RecommendToManyServlet

public RecommendToManyServlet()
Method Detail

doGet

protected void doGet(javax.servlet.http.HttpServletRequest request,
                     javax.servlet.http.HttpServletResponse response)
              throws IOException
Overrides:
doGet in class javax.servlet.http.HttpServlet
Throws:
IOException

getPartitionToServe

protected Integer getPartitionToServe(javax.servlet.http.HttpServletRequest request,
                                      int numPartitions)
Overrides:
getPartitionToServe in class AbstractMyrrixServlet


Copyright © 2012. All Rights Reserved.