http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/c453559e/templates/productranking/quickstart/index.html ---------------------------------------------------------------------- diff --git a/templates/productranking/quickstart/index.html b/templates/productranking/quickstart/index.html index 22e3b49..68fee7d 100644 --- a/templates/productranking/quickstart/index.html +++ b/templates/productranking/quickstart/index.html @@ -32,7 +32,7 @@ Your system is all ready to go. <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> MyApp1 | 1 | 3mZWDzci2D5YsqAnqNnXH9SB6Rg3dsTBs8iHkK6X2i54IQsIZI1eEeQQyMfs7b3F | <span class="o">(</span>all<span class="o">)</span> <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> MyApp2 | 2 | io5lz6Eg4m3Xe4JZTBFE13GMAf1dhFl6ZteuJfrO84XpdOz9wRCrDU44EUaYuXq5 | <span class="o">(</span>all<span class="o">)</span> <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> Finished listing 2 app<span class="o">(</span>s<span class="o">)</span>. -</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let's collect some training data for the app of this Engine. By default, the Product Ranking Engine Template supports 2 types of entities: <strong>user</strong> and <strong>item</strong>, and event <strong>view</strong>. A user can view an item. This template requires '$set' user event, '$set' item event and user-view-item events.</p> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let's try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code><ACCCESS_KEY></code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=<ACCESS_KEY></code></p> <p><a href="#"></a></p> <p>For example, when a new user with id "u0" is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for this user. To send this event, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-73df45d2-8ef2-4430-8c51-e045af22b12a">REST API</a></li> <li data-lang="python"><a href="#tab-f1d031c9-d1b8-4374-93cb-cac69959c1be">Python SDK</a></li> <li data-lang="php"><a href="#tab-51ece3c4-de26-454b-9167-0e5f205ef141">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-2a21fd9e-3ad9-4405-b46b-a3858cd1eafe">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-54c9767d-f79c-42c5 -a9c7-d0d68f34d787">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-73df45d2-8ef2-4430-8c51-e045af22b12a"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let's collect some training data for the app of this Engine. By default, the Product Ranking Engine Template supports 2 types of entities: <strong>user</strong> and <strong>item</strong>, and event <strong>view</strong>. A user can view an item. This template requires '$set' user event, '$set' item event and user-view-item events.</p> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let's try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p><p>Replace <code><ACCCESS_KEY></code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=<ACCESS_KEY></code></p> <p><a href="#"></a></p> <p>For example, when a new user with id "u0" is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for this user. To send this event, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-b8579252-fad0-4753-adce-09142b230849">REST API</a></li> <li data-lang="python"><a href="#tab-eaeb373d-ac2c-4968-b17e-6ff3cdc45456">Python SDK</a></li> <li data-lang="php"><a href="#tab-ffed3a9c-cc44-4692-a722-6432b3c66771">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-51369214-46a4-4cdf-be1b-2cbfe8414a46">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-90f81ff2-3cb7-4388 -8dca-b0a4d3de4bfa">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-b8579252-fad0-4753-adce-09142b230849"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -47,7 +47,7 @@ Your system is all ready to go. "entityId" : "u0", "eventTime" : "2014-11-02T09:39:45.618-08:00" }'</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-f1d031c9-d1b8-4374-93cb-cac69959c1be"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-eaeb373d-ac2c-4968-b17e-6ff3cdc45456"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -78,7 +78,7 @@ Your system is all ready to go. <span class="n">entity_type</span><span class="o">=</span><span class="s">"user"</span><span class="p">,</span> <span class="n">entity_id</span><span class="o">=<</span><span class="n">USER_ID</span><span class="o">></span> <span class="p">)</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-51ece3c4-de26-454b-9167-0e5f205ef141"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-ffed3a9c-cc44-4692-a722-6432b3c66771"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -103,7 +103,7 @@ Your system is all ready to go. <span class="s1">'entityId'</span> <span class="o">=></span> <span class="o"><</span><span class="nx">USER</span> <span class="nx">ID</span><span class="o">></span> <span class="p">));</span> <span class="cp">?></span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-2a21fd9e-3ad9-4405-b46b-a3858cd1eafe"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-51369214-46a4-4cdf-be1b-2cbfe8414a46"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -120,7 +120,7 @@ Your system is all ready to go. <span class="s1">'user'</span><span class="p">,</span> <span class="o"><</span><span class="no">USER</span> <span class="no">ID</span><span class="o">></span> <span class="p">)</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-54c9767d-f79c-42c5-a9c7-d0d68f34d787"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-90f81ff2-3cb7-4388-8dca-b0a4d3de4bfa"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -145,7 +145,7 @@ Your system is all ready to go. <span class="o">.</span><span class="na">entityType</span><span class="o">(</span><span class="s">"user"</span><span class="o">)</span> <span class="o">.</span><span class="na">entityId</span><span class="o">(<</span><span class="n">USER_ID</span><span class="o">>);</span> <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">userEvent</span><span class="o">);</span> -</pre></td> </tr></tbody></table> </div> </div> </div> <p>When a new item "i0" is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for the item. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-b53c1565-f9e7-4b76-849b-af3df2450fbb">REST API</a></li> <li data-lang="python"><a href="#tab-26efb7f4-3c22-4d60-937f-f89ade5b2e73">Python SDK</a></li> <li data-lang="php"><a href="#tab-0725867f-136a-40fa-a53c-0fe928c0ec7e">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-c452946b-806b-4345-8d23-ec4771006793">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-90cd9ad2-e45b-4574-958b-c64249fb83fa">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-b53c1565-f9e7-4b76-849b-af3df2450fbb"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td cla ss="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> </div> <p>When a new item "i0" is created in your app on time <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified), you can send a <code>$set</code> event for the item. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-ad54d8d7-9675-47ae-b612-8e5807ac02dc">REST API</a></li> <li data-lang="python"><a href="#tab-b25994fe-b618-4b8f-956d-04788e0c4c29">Python SDK</a></li> <li data-lang="php"><a href="#tab-63ec9a07-2e0c-4f77-8276-a5c44288f04b">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-672cd602-72a0-444f-964d-bf9f1d56e47c">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-9537cae6-8261-4a0d-8da0-9f2360a87f86">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-ad54d8d7-9675-47ae-b612-8e5807ac02dc"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td cla ss="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -160,7 +160,7 @@ Your system is all ready to go. "entityId" : "i0", "eventTime" : "2014-11-02T09:39:45.618-08:00" }'</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-26efb7f4-3c22-4d60-937f-f89ade5b2e73"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-b25994fe-b618-4b8f-956d-04788e0c4c29"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -173,7 +173,7 @@ Your system is all ready to go. <span class="n">entity_type</span><span class="o">=</span><span class="s">"item"</span><span class="p">,</span> <span class="n">entity_id</span><span class="o">=<</span><span class="n">ITEM_ID</span><span class="o">></span> <span class="p">)</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-0725867f-136a-40fa-a53c-0fe928c0ec7e"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-63ec9a07-2e0c-4f77-8276-a5c44288f04b"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -190,7 +190,7 @@ Your system is all ready to go. <span class="p">));</span> <span class="cp">?></span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-c452946b-806b-4345-8d23-ec4771006793"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-672cd602-72a0-444f-964d-bf9f1d56e47c"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -203,7 +203,7 @@ Your system is all ready to go. <span class="o"><</span><span class="no">ITEM</span> <span class="no">ID</span><span class="o">></span> <span class="p">)</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-90cd9ad2-e45b-4574-958b-c64249fb83fa"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-9537cae6-8261-4a0d-8da0-9f2360a87f86"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -214,7 +214,7 @@ Your system is all ready to go. <span class="o">.</span><span class="na">entityType</span><span class="o">(</span><span class="s">"item"</span><span class="o">)</span> <span class="o">.</span><span class="na">entityId</span><span class="o">(<</span><span class="n">ITEM_ID</span><span class="o">>);</span> <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">itemEvent</span><span class="o">)</span> -</pre></td> </tr></tbody></table> </div> </div> </div> <p>When the user "u0" view item "i0" on time <code>2014-11-10T12:34:56.123-08:00</code> (current time will be used if eventTime is not specified), you can send a view event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-e01699d4-8158-4c82-ba34-c889b917da5b">REST API</a></li> <li data-lang="python"><a href="#tab-7db19243-244b-4cf9-9704-488b5b7d4f54">Python SDK</a></li> <li data-lang="php"><a href="#tab-6d9c24bb-4f03-4e29-ac7e-adade3556321">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-62205151-4ad1-4d67-bfcc-6c720c8abf2d">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-61745ba4-fa58-4bd0-93fb-1dde65c8941c">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-e01699d4-8158-4c82-ba34-c889b917da5b"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text -align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> </div> <p>When the user "u0" view item "i0" on time <code>2014-11-10T12:34:56.123-08:00</code> (current time will be used if eventTime is not specified), you can send a view event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-50341c62-c104-4b17-85da-180b858a33e6">REST API</a></li> <li data-lang="python"><a href="#tab-c36d99a3-5e19-416c-aa78-9c4d79e18925">Python SDK</a></li> <li data-lang="php"><a href="#tab-c166532e-4dda-41a0-98c3-e0f2a2958127">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-4c251110-7291-43b1-a1b5-73eeee601c98">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-5aac6178-b008-4a2b-a045-3d6f1dc99fcb">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-50341c62-c104-4b17-85da-180b858a33e6"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text -align: right"><pre class="lineno">1 2 3 4 @@ -233,7 +233,7 @@ Your system is all ready to go. "targetEntityId" : "i0", "eventTime" : "2014-11-10T12:34:56.123-08:00" }'</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-7db19243-244b-4cf9-9704-488b5b7d4f54"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-c36d99a3-5e19-416c-aa78-9c4d79e18925"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -250,7 +250,7 @@ Your system is all ready to go. <span class="n">target_entity_type</span><span class="o">=</span><span class="s">"item"</span><span class="p">,</span> <span class="n">target_entity_id</span><span class="o">=<</span><span class="n">ITEM</span> <span class="n">ID</span><span class="o">></span> <span class="p">)</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-6d9c24bb-4f03-4e29-ac7e-adade3556321"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-c166532e-4dda-41a0-98c3-e0f2a2958127"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -269,7 +269,7 @@ Your system is all ready to go. <span class="s1">'targetEntityId'</span> <span class="o">=></span> <span class="o"><</span><span class="nx">ITEM</span> <span class="nx">ID</span><span class="o">></span> <span class="p">));</span> <span class="cp">?></span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-62205151-4ad1-4d67-bfcc-6c720c8abf2d"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-4c251110-7291-43b1-a1b5-73eeee601c98"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -286,7 +286,7 @@ Your system is all ready to go. <span class="s1">'targetEntityId'</span> <span class="o">=></span> <span class="o"><</span><span class="no">ITEM</span> <span class="no">ID</span><span class="o">></span> <span class="p">}</span> <span class="p">)</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-61745ba4-fa58-4bd0-93fb-1dde65c8941c"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-5aac6178-b008-4a2b-a045-3d6f1dc99fcb"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -344,14 +344,14 @@ User u10 views item i7 </pre></td></tr></tbody></table> </div> <p>When the engine is deployed successfully and running, you should see a console message similar to the following:</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1 2</pre></td><td class="code"><pre><span class="o">[</span>INFO] <span class="o">[</span>HttpListener] Bound to /0.0.0.0:8000 <span class="o">[</span>INFO] <span class="o">[</span>MasterActor] Bind successful. Ready to serve. -</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can retrieve predicted results. To rank items with IDs "i1", "i3", "i10", "i2", "i5", "i31", "i9" for user "u2". You send this JSON <code>{ "user": "u2", "items": ["i1", "i3", "i10", "i2", "i5", "i31", "i9"] }</code> to the deployed engine and it will return a JSON of the ranked items. Simply send a query by making a HTTP request or through the <code>EngineCl ient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-829cdb4b-589a-4764-ad4c-11894d47d29b">REST API</a></li> <li data-lang="python"><a href="#tab-9a21f3df-93fd-43f4-a1dc-708040665d34">Python SDK</a></li> <li data-lang="php"><a href="#tab-438b95ce-1c3b-464e-b98f-1ea6edf90afc">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-f4c6bd5c-01c0-46b1-8c01-1bdaa6e405d8">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-566ff490-345f-4446-8861-68300b231ad0">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-829cdb4b-589a-4764-ad4c-11894d47d29b"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can retrieve predicted results. To rank items with IDs "i1", "i3", "i10", "i2", "i5", "i31", "i9" for user "u2". You send this JSON <code>{ "user": "u2", "items": ["i1", "i3", "i10", "i2", "i5", "i31", "i9"] }</code> to the deployed engine and it will return a JSON of the ranked items. Simply send a query by making a HTTP request or through the <code>EngineCl ient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-2513e774-af82-4362-8a45-bd346445a4e6">REST API</a></li> <li data-lang="python"><a href="#tab-ebbb0089-63ce-4c07-8364-bd69bd0e0d23">Python SDK</a></li> <li data-lang="php"><a href="#tab-9cd36632-8138-4af8-82a5-afc9e5408d6b">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-f44ee056-af08-4d7b-bbc2-ba4f310b4821">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-b2c819a2-5614-4bf6-957d-476a29799bb1">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-2513e774-af82-4362-8a45-bd346445a4e6"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4</pre></td> <td class="code"><pre><span class="gp">$ </span>curl -H <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span> -d <span class="s1">'{ "user": "u2", "items": ["i1", "i3", "i10", "i2", "i5", "i31", "i9"]}'</span> <span class="se">\</span> http://localhost:8000/queries.json -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-9a21f3df-93fd-43f4-a1dc-708040665d34"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-ebbb0089-63ce-4c07-8364-bd69bd0e0d23"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -362,7 +362,7 @@ http://localhost:8000/queries.json <span class="s">"user"</span><span class="p">:</span> <span class="s">"u2"</span><span class="p">,</span> <span class="s">"items"</span><span class="p">:</span> <span class="p">[</span><span class="s">"i1"</span><span class="p">,</span> <span class="s">"i3"</span><span class="p">,</span> <span class="s">"i10"</span><span class="p">,</span> <span class="s">"i2"</span><span class="p">,</span> <span class="s">"i5"</span><span class="p">,</span> <span class="s">"i31"</span><span class="p">,</span> <span class="s">"i9"</span><span class="p">]</span> <span class="p">})</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-438b95ce-1c3b-464e-b98f-1ea6edf90afc"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-9cd36632-8138-4af8-82a5-afc9e5408d6b"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -385,7 +385,7 @@ http://localhost:8000/queries.json <span class="nb">print_r</span><span class="p">(</span><span class="nv">$response</span><span class="p">);</span> <span class="cp">?></span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-f4c6bd5c-01c0-46b1-8c01-1bdaa6e405d8"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-f44ee056-af08-4d7b-bbc2-ba4f310b4821"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -402,7 +402,7 @@ http://localhost:8000/queries.json <span class="s1">'items'</span> <span class="o">=></span> <span class="p">[</span><span class="s1">'i1'</span><span class="p">,</span> <span class="s1">'i3'</span><span class="p">,</span> <span class="s1">'i10'</span><span class="p">,</span> <span class="s1">'i2'</span><span class="p">,</span> <span class="s1">'i5'</span><span class="p">,</span> <span class="s1">'i31'</span><span class="p">,</span> <span class="s1">'i9'</span><span class="p">])</span> <span class="nb">puts</span> <span class="n">response</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-566ff490-345f-4446-8861-68300b231ad0"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-b2c819a2-5614-4bf6-957d-476a29799bb1"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -459,4 +459,4 @@ http://localhost:8000/queries.json e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st'); -_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-eee4bb28.js"></script></body></html> \ No newline at end of file +_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-1a70e440.js"></script></body></html> \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/c453559e/templates/recommendation/batch-evaluator/index.html ---------------------------------------------------------------------- diff --git a/templates/recommendation/batch-evaluator/index.html b/templates/recommendation/batch-evaluator/index.html index 195fbd9..9c7c316 100644 --- a/templates/recommendation/batch-evaluator/index.html +++ b/templates/recommendation/batch-evaluator/index.html @@ -294,4 +294,4 @@ e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st'); -_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-eee4bb28.js"></script></body></html> \ No newline at end of file +_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-1a70e440.js"></script></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/c453559e/templates/recommendation/blacklist-items/index.html ---------------------------------------------------------------------- diff --git a/templates/recommendation/blacklist-items/index.html b/templates/recommendation/blacklist-items/index.html index 474f9a2..e0d36f4 100644 --- a/templates/recommendation/blacklist-items/index.html +++ b/templates/recommendation/blacklist-items/index.html @@ -166,4 +166,4 @@ http://localhost:8000/queries.json e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st'); -_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-eee4bb28.js"></script></body></html> \ No newline at end of file +_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-1a70e440.js"></script></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/c453559e/templates/recommendation/customize-data-prep/index.html ---------------------------------------------------------------------- diff --git a/templates/recommendation/customize-data-prep/index.html b/templates/recommendation/customize-data-prep/index.html index 12dee31..a06ee3e 100644 --- a/templates/recommendation/customize-data-prep/index.html +++ b/templates/recommendation/customize-data-prep/index.html @@ -140,4 +140,4 @@ e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st'); -_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-eee4bb28.js"></script></body></html> \ No newline at end of file +_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-1a70e440.js"></script></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/c453559e/templates/recommendation/customize-serving/index.html ---------------------------------------------------------------------- diff --git a/templates/recommendation/customize-serving/index.html b/templates/recommendation/customize-serving/index.html index fb529b7..7cbbd08 100644 --- a/templates/recommendation/customize-serving/index.html +++ b/templates/recommendation/customize-serving/index.html @@ -178,4 +178,4 @@ e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st'); -_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-eee4bb28.js"></script></body></html> \ No newline at end of file +_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-1a70e440.js"></script></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/c453559e/templates/recommendation/dase/index.html ---------------------------------------------------------------------- diff --git a/templates/recommendation/dase/index.html b/templates/recommendation/dase/index.html index 7a5d65d..29f8c41 100644 --- a/templates/recommendation/dase/index.html +++ b/templates/recommendation/dase/index.html @@ -364,4 +364,4 @@ val itemStringIntMap <span class="o">=</span> BiMap.stringInt<span class="o">(</ e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st'); -_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-eee4bb28.js"></script></body></html> \ No newline at end of file +_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-1a70e440.js"></script></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/c453559e/templates/recommendation/evaluation/index.html ---------------------------------------------------------------------- diff --git a/templates/recommendation/evaluation/index.html b/templates/recommendation/evaluation/index.html index 0f7c6f5..99f1abc 100644 --- a/templates/recommendation/evaluation/index.html +++ b/templates/recommendation/evaluation/index.html @@ -288,4 +288,4 @@ Metrics: e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st'); -_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-eee4bb28.js"></script></body></html> \ No newline at end of file +_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-1a70e440.js"></script></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/c453559e/templates/recommendation/how-to/index.html ---------------------------------------------------------------------- diff --git a/templates/recommendation/how-to/index.html b/templates/recommendation/how-to/index.html index e0b3ae7..ee8755d 100644 --- a/templates/recommendation/how-to/index.html +++ b/templates/recommendation/how-to/index.html @@ -3,4 +3,4 @@ e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st'); -_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-eee4bb28.js"></script></body></html> \ No newline at end of file +_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-1a70e440.js"></script></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/c453559e/templates/recommendation/quickstart/index.html ---------------------------------------------------------------------- diff --git a/templates/recommendation/quickstart/index.html b/templates/recommendation/quickstart/index.html index e8906c3..ef4bacb 100644 --- a/templates/recommendation/quickstart/index.html +++ b/templates/recommendation/quickstart/index.html @@ -32,7 +32,7 @@ Your system is all ready to go. <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> MyApp1 | 1 | 3mZWDzci2D5YsqAnqNnXH9SB6Rg3dsTBs8iHkK6X2i54IQsIZI1eEeQQyMfs7b3F | <span class="o">(</span>all<span class="o">)</span> <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> MyApp2 | 2 | io5lz6Eg4m3Xe4JZTBFE13GMAf1dhFl6ZteuJfrO84XpdOz9wRCrDU44EUaYuXq5 | <span class="o">(</span>all<span class="o">)</span> <span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> Finished listing 2 app<span class="o">(</span>s<span class="o">)</span>. -</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let's collect some training data. By default, the Recommendation Engine Template supports 2 types of events: <strong>rate</strong> and <strong>buy</strong>. A user can give a rating score to an item or buy an item. This template requires user-view-item and user-buy-item events.</p><div class="alert-message info"><p>This template can easily be customized to consider more user events such as <em>like</em>, <em>dislike</em> etc.</p></div> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let's try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p>< p>Replace <code><ACCCESS_KEY></code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=<ACCESS_KEY></code></p> <p><a href="#"></a></p> <h3 id='example-<strong>rate</strong>-event' class='header-anchors' >Example <strong>rate</strong> event</h3><p>A user (ID "u0") gives an item (ID "i0") a rating of 5 at <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified)</p><p>Run the following <code>curl</code> command to send the <code>rate</code> event:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-33c89f0a-719a-4922-99c7-3697ecd58a7f">REST API</a></li> <li data-lang="python"><a href="#tab-eaf6f6ac-4fc6-4da7-8f3d-0cede6c88eaf">Python SDK</a></li> <li data-lang="php"><a href="#tab-988da763-e3ed-47c8-a1e7-00f7c77225dd">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-d9d45126-b034-4ffd-8ada-5fb41d7bbcdd">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-19028787-20fa-4a25-907c-9df043b111d8">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-33c89f0a-719a-4922-99c7-3697ecd58a7f"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td></tr></tbody></table> </div> <p><a href="#"></a></p> <h2 id='4.-collecting-data' class='header-anchors'>4. Collecting Data</h2><p>Next, let's collect some training data. By default, the Recommendation Engine Template supports 2 types of events: <strong>rate</strong> and <strong>buy</strong>. A user can give a rating score to an item or buy an item. This template requires user-view-item and user-buy-item events.</p><div class="alert-message info"><p>This template can easily be customized to consider more user events such as <em>like</em>, <em>dislike</em> etc.</p></div> <p>You can send these events to PredictionIO Event Server in real-time easily by making a HTTP request or through the provided SDK. Please see <a href="/appintegration/">App Integration Overview</a> for more details how to integrate your app with SDK.</p><p>Let's try sending events to EventServer with the following <code>curl</code> commands (The corresponding SDK code is showed in other tabs).</p>< p>Replace <code><ACCCESS_KEY></code> by the Access Key generated in above steps. Note that <code>localhost:7070</code> is the default URL of the Event Server.</p><p>For convenience, set your access key to the shell variable, run:</p><p><code>$ ACCESS_KEY=<ACCESS_KEY></code></p> <p><a href="#"></a></p> <h3 id='example-<strong>rate</strong>-event' class='header-anchors' >Example <strong>rate</strong> event</h3><p>A user (ID "u0") gives an item (ID "i0") a rating of 5 at <code>2014-11-02T09:39:45.618-08:00</code> (current time will be used if eventTime is not specified)</p><p>Run the following <code>curl</code> command to send the <code>rate</code> event:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-c0f2fa9a-f292-4448-ba31-2d9ede9eb412">REST API</a></li> <li data-lang="python"><a href="#tab-d905d18f-ded8-415a-82d2-acb2b1070b27">Python SDK</a></li> <li data-lang="php"><a href="#tab-f9034eed-8c2a-4f39-9f92-818e9135ee0c">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-f977c96c-676d-4b2e-8fc7-fb954883a167">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-e9accf1d-dca2-4af9-93a3-7ed37d316e3d">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-c0f2fa9a-f292-4448-ba31-2d9ede9eb412"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -57,7 +57,7 @@ Your system is all ready to go. } "eventTime" : "2014-11-02T09:39:45.618-08:00" }'</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-eaf6f6ac-4fc6-4da7-8f3d-0cede6c88eaf"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-d905d18f-ded8-415a-82d2-acb2b1070b27"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -92,7 +92,7 @@ Your system is all ready to go. <span class="n">target_entity_id</span><span class="o">=<</span><span class="n">ITEM</span> <span class="n">ID</span><span class="o">></span><span class="p">,</span> <span class="n">properties</span><span class="o">=</span> <span class="p">{</span> <span class="s">"rating"</span> <span class="p">:</span> <span class="nb">float</span><span class="p">(</span><span class="o"><</span><span class="n">RATING</span><span class="o">></span><span class="p">)</span> <span class="p">}</span> <span class="p">)</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-988da763-e3ed-47c8-a1e7-00f7c77225dd"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-f9034eed-8c2a-4f39-9f92-818e9135ee0c"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -123,7 +123,7 @@ Your system is all ready to go. <span class="s1">'properties'</span> <span class="o">=></span> <span class="k">array</span><span class="p">(</span><span class="s1">'rating'</span><span class="o">=></span> <span class="o"><</span><span class="nx">RATING</span><span class="o">></span><span class="p">)</span> <span class="p">));</span> <span class="cp">?></span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-d9d45126-b034-4ffd-8ada-5fb41d7bbcdd"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-f977c96c-676d-4b2e-8fc7-fb954883a167"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -150,7 +150,7 @@ Your system is all ready to go. <span class="p">}</span> <span class="p">)</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-19028787-20fa-4a25-907c-9df043b111d8"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-e9accf1d-dca2-4af9-93a3-7ed37d316e3d"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -179,7 +179,7 @@ Your system is all ready to go. <span class="o">.</span><span class="na">property</span><span class="o">(</span><span class="s">"rating"</span><span class="o">,</span> <span class="k">new</span> <span class="n">Float</span><span class="o">(<</span><span class="n">RATING</span><span class="o">>));</span> <span class="n">client</span><span class="o">.</span><span class="na">createEvent</span><span class="o">(</span><span class="n">rateEvent</span><span class="o">);</span> -</pre></td> </tr></tbody></table> </div> </div> </div> <h3 id='example-<strong>buy</strong>-event' class='header-anchors' >Example <strong>buy</strong> event</h3><p>A user (ID "u1") buys an item (ID "i2") at <code>2014-11-10T12:34:56.123-08:00</code> (current time will be used if eventTime is not specified)</p><p>Run the following <code>curl</code> command to send the <code>buy</code> event:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-619e2c60-c755-43e2-968b-274f580d3e59">REST API</a></li> <li data-lang="python"><a href="#tab-0a04b984-4c55-41a8-a795-3a48a57e22a6">Python SDK</a></li> <li data-lang="php"><a href="#tab-b0bd505b-85c6-4e4c-a718-f846156796ba">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-a5d541b8-8b7a-47ec-b692-cef78d71818a">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-d1a7ee6c-1a17-49ac-8127-de9fd734052f">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-619e2c60-c755-43e2-968b-27 4f580d3e59"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> </div> <h3 id='example-<strong>buy</strong>-event' class='header-anchors' >Example <strong>buy</strong> event</h3><p>A user (ID "u1") buys an item (ID "i2") at <code>2014-11-10T12:34:56.123-08:00</code> (current time will be used if eventTime is not specified)</p><p>Run the following <code>curl</code> command to send the <code>buy</code> event:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-19cb98c6-a130-4163-9f61-4e1c1b92f624">REST API</a></li> <li data-lang="python"><a href="#tab-884d0f8a-5fe1-4969-b962-613e9cf79110">Python SDK</a></li> <li data-lang="php"><a href="#tab-bba208e5-72cf-4955-8a0a-346cb3a051a9">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-2fb186f3-0f1b-4a30-956e-1450f1cd3ddc">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-6794637b-d755-484d-ab71-707c5f91a3ca">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-19cb98c6-a130-4163-9f61-4e 1c1b92f624"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -198,7 +198,7 @@ Your system is all ready to go. "targetEntityId" : "i2", "eventTime" : "2014-11-10T12:34:56.123-08:00" }'</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-0a04b984-4c55-41a8-a795-3a48a57e22a6"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-884d0f8a-5fe1-4969-b962-613e9cf79110"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -213,7 +213,7 @@ Your system is all ready to go. <span class="n">target_entity_type</span><span class="o">=</span><span class="s">"item"</span><span class="p">,</span> <span class="n">target_entity_id</span><span class="o">=<</span><span class="n">ITEM</span> <span class="n">ID</span><span class="o">></span> <span class="p">)</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-b0bd505b-85c6-4e4c-a718-f846156796ba"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-bba208e5-72cf-4955-8a0a-346cb3a051a9"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -232,7 +232,7 @@ Your system is all ready to go. <span class="s1">'targetEntityId'</span> <span class="o">=></span> <span class="o"><</span><span class="nx">ITEM</span> <span class="nx">ID</span><span class="o">></span> <span class="p">));</span> <span class="cp">?></span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-a5d541b8-8b7a-47ec-b692-cef78d71818a"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-2fb186f3-0f1b-4a30-956e-1450f1cd3ddc"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -249,7 +249,7 @@ Your system is all ready to go. <span class="s1">'targetEntityId'</span> <span class="o">=></span> <span class="o"><</span><span class="no">ITEM</span> <span class="no">ID</span><span class="o">></span> <span class="p">}</span> <span class="p">)</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-d1a7ee6c-1a17-49ac-8127-de9fd734052f"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-6794637b-d755-484d-ab71-707c5f91a3ca"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -297,17 +297,17 @@ Your system is all ready to go. </pre></td></tr></tbody></table> </div> <p>When the engine is deployed successfully and running, you should see a console message similar to the following:</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1 2</pre></td><td class="code"><pre><span class="o">[</span>INFO] <span class="o">[</span>HttpListener] Bound to /0.0.0.0:8000 <span class="o">[</span>INFO] <span class="o">[</span>MasterActor] Bind successful. Ready to serve. -</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can try to retrieve predicted results. To recommend 4 movies to user whose id is 1, you send this JSON <code>{ "user": "1", "num": 4 }</code> to the deployed engine and it will return a JSON of the recommended movies. Simply send a query by making a HTTP request or through the <code>EngineClient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang ="json"><a href="#tab-f86aac4d-0cdf-47cc-a7c7-dcf64e35da1c">REST API</a></li> <li data-lang="python"><a href="#tab-0caefeb6-6ee4-42cf-a5cd-04d284750e78">Python SDK</a></li> <li data-lang="php"><a href="#tab-08d7c6ed-f120-47c7-bb24-059c0ecb60d7">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-8d2b1794-95c6-4550-a1c4-d3001cd1fd02">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-0c00cfd0-ac75-41af-aac5-9564160c3669">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-f86aac4d-0cdf-47cc-a7c7-dcf64e35da1c"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td></tr></tbody></table> </div> <p>Do not kill the deployed engine process.</p><p>By default, the deployed engine binds to <a href="http://localhost:8000"><a href="http://localhost:8000">http://localhost:8000</a></a>. You can visit that page in your web browser to check its status.</p><p><img alt="Engine Status" src="/images/engine-server-3246414b.png"/></p></p><h2 id='6.-use-the-engine' class='header-anchors'>6. Use the Engine</h2><p>Now, You can try to retrieve predicted results. To recommend 4 movies to user whose id is 1, you send this JSON <code>{ "user": "1", "num": 4 }</code> to the deployed engine and it will return a JSON of the recommended movies. Simply send a query by making a HTTP request or through the <code>EngineClient</code> of an SDK.</p><p>With the deployed engine running, open another terminal and run the following <code>curl</code> command or use SDK to send the query:</p><div class="tabs"> <ul class="control"> <li data-lang ="json"><a href="#tab-4fff3c7c-6b98-4109-8420-ea36b5562b86">REST API</a></li> <li data-lang="python"><a href="#tab-0d957238-ab2e-463a-b7e9-f075f28e0074">Python SDK</a></li> <li data-lang="php"><a href="#tab-3b7a42a5-fc14-443e-9119-f6d2fbc4daf4">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-32e824e8-4176-4817-9013-c665e76365f0">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-5bd3ec53-24b4-4de7-8135-67a5b2b25fdf">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-4fff3c7c-6b98-4109-8420-ea36b5562b86"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3</pre></td> <td class="code"><pre><span class="gp">$ </span>curl -H <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span> -d <span class="s1">'{ "user": "1", "num": 4 }'</span> http://localhost:8000/queries.json -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-0caefeb6-6ee4-42cf-a5cd-04d284750e78"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-0d957238-ab2e-463a-b7e9-f075f28e0074"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3</pre></td> <td class="code"><pre><span class="kn">import</span> <span class="nn">predictionio</span> <span class="n">engine_client</span> <span class="o">=</span> <span class="n">predictionio</span><span class="o">.</span><span class="n">EngineClient</span><span class="p">(</span><span class="n">url</span><span class="o">=</span><span class="s">"http://localhost:8000"</span><span class="p">)</span> <span class="k">print</span> <span class="n">engine_client</span><span class="o">.</span><span class="n">send_query</span><span class="p">({</span><span class="s">"user"</span><span class="p">:</span> <span class="s">"1"</span><span class="p">,</span> <span class="s">"num"</span><span class="p">:</span> <span class="mi">4</span><span class="p">})</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-08d7c6ed-f120-47c7-bb24-059c0ecb60d7"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-3b7a42a5-fc14-443e-9119-f6d2fbc4daf4"> <div class="highlight php"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -326,7 +326,7 @@ Your system is all ready to go. <span class="nb">print_r</span><span class="p">(</span><span class="nv">$response</span><span class="p">);</span> <span class="cp">?></span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-8d2b1794-95c6-4550-a1c4-d3001cd1fd02"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-32e824e8-4176-4817-9013-c665e76365f0"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -339,7 +339,7 @@ Your system is all ready to go. <span class="n">response</span> <span class="o">=</span> <span class="n">client</span><span class="p">.</span><span class="nf">send_query</span><span class="p">(</span><span class="s1">'user'</span> <span class="o">=></span> <span class="o"><</span><span class="no">USER</span> <span class="no">ID</span><span class="o">></span><span class="p">,</span> <span class="s1">'num'</span> <span class="o">=></span> <span class="o"><</span><span class="no">NUMBER</span> <span class="p">(</span><span class="n">integer</span><span class="p">)</span><span class="o">></span><span class="p">)</span> <span class="nb">puts</span> <span class="n">response</span> -</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-0c00cfd0-ac75-41af-aac5-9564160c3669"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 +</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-5bd3ec53-24b4-4de7-8135-67a5b2b25fdf"> <div class="highlight java"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1 2 3 4 @@ -384,4 +384,4 @@ Your system is all ready to go. e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st'); -_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-eee4bb28.js"></script></body></html> \ No newline at end of file +_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-1a70e440.js"></script></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/c453559e/templates/recommendation/reading-custom-events/index.html ---------------------------------------------------------------------- diff --git a/templates/recommendation/reading-custom-events/index.html b/templates/recommendation/reading-custom-events/index.html index 98610be..62d418d 100644 --- a/templates/recommendation/reading-custom-events/index.html +++ b/templates/recommendation/reading-custom-events/index.html @@ -53,4 +53,4 @@ e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st'); -_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-eee4bb28.js"></script></body></html> \ No newline at end of file +_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-1a70e440.js"></script></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/c453559e/templates/recommendation/training-with-implicit-preference/index.html ---------------------------------------------------------------------- diff --git a/templates/recommendation/training-with-implicit-preference/index.html b/templates/recommendation/training-with-implicit-preference/index.html index 98e4dd0..ae2c58a 100644 --- a/templates/recommendation/training-with-implicit-preference/index.html +++ b/templates/recommendation/training-with-implicit-preference/index.html @@ -162,4 +162,4 @@ e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st'); -_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-eee4bb28.js"></script></body></html> \ No newline at end of file +_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-1a70e440.js"></script></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/c453559e/templates/similarproduct/dase/index.html ---------------------------------------------------------------------- diff --git a/templates/similarproduct/dase/index.html b/templates/similarproduct/dase/index.html index 0a7db7c..48bceb6 100644 --- a/templates/similarproduct/dase/index.html +++ b/templates/similarproduct/dase/index.html @@ -666,4 +666,4 @@ e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st'); -_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-eee4bb28.js"></script></body></html> \ No newline at end of file +_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-1a70e440.js"></script></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/c453559e/templates/similarproduct/how-to/index.html ---------------------------------------------------------------------- diff --git a/templates/similarproduct/how-to/index.html b/templates/similarproduct/how-to/index.html index 9019f9c..588c457 100644 --- a/templates/similarproduct/how-to/index.html +++ b/templates/similarproduct/how-to/index.html @@ -3,4 +3,4 @@ e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st'); -_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-eee4bb28.js"></script></body></html> \ No newline at end of file +_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-1a70e440.js"></script></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/c453559e/templates/similarproduct/multi-events-multi-algos/index.html ---------------------------------------------------------------------- diff --git a/templates/similarproduct/multi-events-multi-algos/index.html b/templates/similarproduct/multi-events-multi-algos/index.html index cf3b09d..d093408 100644 --- a/templates/similarproduct/multi-events-multi-algos/index.html +++ b/templates/similarproduct/multi-events-multi-algos/index.html @@ -570,4 +570,4 @@ e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st'); -_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-eee4bb28.js"></script></body></html> \ No newline at end of file +_st('install','HaUfpXXV87xoB_zzCQ45');</script><script src="/javascripts/application-1a70e440.js"></script></body></html> \ No newline at end of file
