You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@predictionio.apache.org by gi...@apache.org on 2018/03/02 00:16:43 UTC
[1/8] predictionio-site git commit: Documentation based on
apache/predictionio#06de8af546d3c688bc8a832a5d09fba57961b1b5
Repository: predictionio-site
Updated Branches:
refs/heads/asf-site 1edaec499 -> 41d3b97b4
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/templates/vanilla/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/vanilla/quickstart/index.html b/templates/vanilla/quickstart/index.html
index 28f2a22..ce3a044 100644
--- a/templates/vanilla/quickstart/index.html
+++ b/templates/vanilla/quickstart/index.html
@@ -54,17 +54,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. The engine accepts JSON query with the field 'q': <code>{ "q" : "foo" }</code>. A prefix is added to the query data and return as PredictedResult.</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-996e3550-8b4c-44a3-8479-f828c90fd7d2">REST API</a></li> <li data-lang="python"><a href="#tab-f4c5da85-8b3c-40
7d-9e8e-bc0dbd36973a">Python SDK</a></li> <li data-lang="php"><a href="#tab-24d6beac-85dc-4488-a3cb-de2ca5c8dce7">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-2ee05fd1-a77b-4ff9-bb99-82818b550bda">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-0dc6e2e0-284f-4714-a881-2b055366c9e8">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-996e3550-8b4c-44a3-8479-f828c90fd7d2"> <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. The engine accepts JSON query with the field 'q': <code>{ "q" : "foo" }</code>. A prefix is added to the query data and return as PredictedResult.</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-46140908-2bbd-4dcc-aa7b-8eb68f8d70bf">REST API</a></li> <li data-lang="python"><a href="#tab-20c33e35-bcbe-47
13-8804-220a2f4d9f96">Python SDK</a></li> <li data-lang="php"><a href="#tab-743da1c7-23fb-46a4-8946-a74708365428">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-4c5e86b6-26f3-4355-8c2a-70cf4b442222">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-85cf798a-e9a7-44a8-8108-57de3d622942">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-46140908-2bbd-4dcc-aa7b-8eb68f8d70bf"> <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">'{ "q": "foo" }'</span> http://localhost:8000/queries.json
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-f4c5da85-8b3c-407d-9e8e-bc0dbd36973a"> <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-20c33e35-bcbe-4713-8804-220a2f4d9f96"> <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">"q"</span><span class="p">:</span> <span class="s">"foo"</span> <span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-24d6beac-85dc-4488-a3cb-de2ca5c8dce7"> <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-743da1c7-23fb-46a4-8946-a74708365428"> <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
@@ -83,7 +83,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-2ee05fd1-a77b-4ff9-bb99-82818b550bda"> <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-4c5e86b6-26f3-4355-8c2a-70cf4b442222"> <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
@@ -96,7 +96,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">'q'</span> <span class="o">=></span> <span class="s1">'foo'</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-0dc6e2e0-284f-4714-a881-2b055366c9e8"> <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-85cf798a-e9a7-44a8-8108-57de3d622942"> <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
[7/8] predictionio-site git commit: Documentation based on
apache/predictionio#06de8af546d3c688bc8a832a5d09fba57961b1b5
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/gallery/template-gallery/index.html
----------------------------------------------------------------------
diff --git a/gallery/template-gallery/index.html b/gallery/template-gallery/index.html
index 276fef5..892862a 100644
--- a/gallery/template-gallery/index.html
+++ b/gallery/template-gallery/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><title>Engine Template Gallery</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Engine Template Gallery"/><link rel="canonical" href="https://predictionio.apache.org/gallery/template-gallery/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//cdn.mathjax.org/math
jax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>®</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11 col-xs
-11"><div class="hidden-md hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Browse</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div class="row"><div id="left-menu-wrapper" class="
col-md-3"><nav id="nav-main"><ul><li class="level-1"><a class="expandible" href="/"><span>Apache PredictionIO® Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO®</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a class="fin
al" href="/appintegration/"><span>App Integration Overview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predictions</span></a></li><li class="level-2"><a class="final" href="/deploy/monitoring/"><span
>Monitoring Engine</span></a></li><li class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Collecting and Analyzing Data</sp
an></a><ul><li class="level-2"><a class="final" href="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Choosing an A
lgorithm(s)</span></a><ul><li class="level-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing Evaluation Met
rics</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO® Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/t
emplates/recommendation/evaluation/"><span>Evaluation Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/batch-evaluator/"><span>Batch Pe
rsistable Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/templates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><
a class="final" href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Classification</span></a><ul><li class="level-3
"><a class="final" href="/templates/classification/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final active" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Demo
Tutorials</span></a><ul><li class="level-2"><a class="final" href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final" href="/community/contribute-documentation/"><span>Contribute Documentation</span></a></li><li class="level-2"><a class="final" href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li class="level-2"><a class="final" href="/community/contribute-webhook/"><span>Contribute a Webhook</span></a></li><li class="level-2"><a class="final" href="/community/projec
ts/"><span>Community Projects</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a class="final" href="/support/"><span>Support</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a class="final" href="/resources/release/"><span>Release Cadence</span></a></li><li class="level-2"><a class="final" href="/resources/intellij/"><span>Developing Engines with IntelliJ IDEA</span></a></li><li class="level-2"><a class="final" href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Apache Soft
ware Foundation</span></a><ul><li class="level-2"><a class="final" href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/licenses/"><span>License</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div class="col-md-9 col-sm-12"><div class="content-header hidden-md hidden-lg"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a href="#">Engine Template Gallery</a><span class="spacer">></span></li><li><span class="last">Browse</span></li></ul></div><div id="page-title"><h1>Engine Template Gallery</h1></div></div><div id="table-of-content-wrapper"><a id="edi
t-page-link" href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/gallery/template-gallery.html.md"><img src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div class="content-header hidden-sm hidden-xs"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a href="#">Engine Template Gallery</a><span class="spacer">></span></li><li><span class="last">Browse</span></li></ul></div><div id="page-title"><h1>Engine Template Gallery</h1></div></div><div class="content"><p>Pick a tab for the type of template you are looking for. Some still need to be ported (a simple process) to Apache PIO and these are marked. Also see each Template description for special support instructions.</p><div class="tabs"> <ul class="control"> <li data-lang=""><a href="#tab-fbac855f-3a6f-45ba-8130-b3f87465c43f">Recommenders</a></li> <li data-lang=""><a href="#tab-4909151f-a80d-4504-bd00-ba00c15f5c8f">Classification</a></li> <li data-lang=""><a href="#t
ab-6e8d8f0b-78a8-40ef-8b97-5534f6137727">Regression</a></li> <li data-lang=""><a href="#tab-d02185cc-b549-40bf-a810-c43594cd7050">NLP</a></li> <li data-lang=""><a href="#tab-6f623638-f7a9-4860-866e-f735d873c0bd">Clustering</a></li> <li data-lang=""><a href="#tab-3062ee4c-1d75-4a79-94f4-594641a3d081">Similarity</a></li> <li data-lang=""><a href="#tab-782fc478-09a4-48fd-8134-d7ef992b8725">Other</a></li> </ul> <div data-tab="Recommenders" id="tab-fbac855f-3a6f-45ba-8130-b3f87465c43f"> <h3><a href="https://github.com/actionml/universal-recommender">The Universal Recommender</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=actionml&repo=universal-recommender&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Use for: </p> <ul class="tab-list"> <li class="tab-list-element">Personalized recommendations—user-based</li> <li class="tab-list-element">Similar items—item-based</li> <li class="tab-list-element"
>Viewed this bought that—item-based cross-action</li> <li class="tab-list-element">Popular Items and User-defined ranking</li> <li class="tab-list-element">Item-set recommendations for complimentarty purchases or shopping carts—item-set-based</li> <li class="tab-list-element">Hybrid collaborative filtering and content based recommendations—limited content-based</li> <li class-tab-list-element>Business rules</li> </ul> <p>The name "Universal" refers to the use of this template in virtually any case that calls for recommendations - ecommerce, news, videos, virtually anywhere user behavioral data is known. This recommender uses the new <a href="http://mahout.apache.org/users/algorithms/intro-cooccurrence-spark.html">Cross-Occurrence (CCO) algorithm</a> to auto-correlate different user actions (clickstream data), profile data, contextual information (location, device), and some content types to make better recommendations. It also implements flexible filters and boosts for impleme
nting business rules.</p> <p>Support: <a href="https://groups.google.com/forum/#!forum/actionml-user">The Universal Recommender user group</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/apache/incubator-predictionio-template-recommender">Recommendation</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&repo=incubator-predictionio-template-recommender&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> An engine template is an almost-complete implementation of an engine. PredictionIO's Recommendation Engine Template has integrated Apache Spark MLlib's Collaborative Filtering algorithm by default. You
can customize it easily to fit your specific needs. </p> <p>Support: <a href="http://predictionio.apache.org/support/">Apache PredictionIO mailing lists</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/apache/incubator-predictionio-template-ecom-recommender">E-Commerce Recommendation</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&repo=incubator-predictionio-template-ecom-recommender&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template provides personalized recommendation for e-commerce applications with the following features by default: </p> <ul class="tab-list"> <li class="tab
-list-element">Exclude out-of-stock items</li> <li class="tab-list-element">Provide recommendation to new users who sign up after the model is trained</li> <li class="tab-list-element">Recommend unseen items only (configurable)</li> <li class="tab-list-element">Recommend popular items if no information about the user is available (added in template version v0.4.0)</li> </ul> <p>Support: <a href="http://predictionio.apache.org/support/">Apache PredictionIO mailing lists</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/apache/incubator-predictionio-template-similar-product">Similar Product</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&repo=incubator-predictionio-t
emplate-similar-product&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template recommends products that are "similar" to the input product(s). Similarity is not defined by user or item attributes but by users' previous actions. By default, it uses 'view' action such that product A and B are considered similar if most users who view A also view B. The template can be customized to support other action types such as buy, rate, like..etc </p> <p>Support: <a href="http://predictionio.apache.org/support/">Apache PredictionIO mailing lists</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/apache/incubator-predict
ionio-template-java-ecom-recommender">E-Commerce Recommendation (Java)</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&repo=incubator-predictionio-template-java-ecom-recommender&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template provides personalized recommendation for e-commerce applications with the following features by default: </p> <ul class="tab-list"> <li class="tab-list-element">Exclude out-of-stock items</li> <li class="tab-list-element">Provide recommendation to new users who sign up after the model is trained</li> <li class="tab-list-element">Recommend unseen items only (configurable)</li> <li class="tab-list-element">Recommend popular items if no information about the user is available</li> </ul> <p>Support: <a href="http://predictionio.apache.org/support/">Apache PredictionIO mailing lists</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</
th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Java</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.3</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/PredictionIO/template-scala-parallel-productranking">Product Ranking</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=PredictionIO&repo=template-scala-parallel-productranking&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template sorts a list of products for a user based on his/her preference. This is ideal for personalizing the display order of product page, catalog, or menu items if you have large number of options. It creates engagement and early conversion by placing products that a user prefers on the top. </p> <p>Support: </p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO m
in version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/PredictionIO/template-scala-parallel-complementarypurchase">Complementary Purchase</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=PredictionIO&repo=template-scala-parallel-complementarypurchase&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template recommends the complementary items which most user frequently buy at the same time with one or more items in the query. </p> <p>Support: </p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires con
version</td> </tr> </table> <br> <h3><a href="https://github.com/vaibhavist/template-scala-parallel-recommendation">Music Recommendations</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=vaibhavist&repo=template-scala-parallel-recommendation&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This is very similar to music recommendations template. It is integrated with all the events a music application can have such as song played, liked, downloaded, purchased, etc. </p> <p>Support: <a href="https://github.com/vaibhavist/template-scala-parallel-recommendation/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https:/
/github.com/vngrs/template-scala-parallel-viewedthenbought">Viewed This Bought That</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=vngrs&repo=template-scala-parallel-viewedthenbought&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This Engine uses co-occurence algorithm to match viewed items to bought items. Using this engine you may predict which item the user will buy, given the item(s) browsed. </p> <p>Support: <a href="https://github.com/vngrs/template-scala-parallel-viewedthenbought/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/goliasz/pio-template-fpm">Frequent Pattern Mining</a></
h3> <iframe src="https://ghbtns.com/github-btn.html?user=goliasz&repo=pio-template-fpm&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Template uses FP Growth algorithm allowing to mine for frequent patterns. Template returns subsequent items together with confidence score. Sometimes used as a shopping cart recommender but has other uses. </p> <p>Support: <a href="https://github.com/goliasz/pio-template-fpm/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.5</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/ramaboo/template-scala-parallel-similarproduct-with-rating">Similar Product with Rating</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=ram
aboo&repo=template-scala-parallel-similarproduct-with-rating&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Similar product template with rating support! Used for the MovieLens Demo. </p> <p>Support: <a href="https://github.com/ramaboo/template-scala-parallel-similarproduct-with-rating/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>beta</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/goliasz/pio-template-fpm">Frequent Pattern Mining</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=goliasz&repo=pio-template-fpm&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Template uses
FP Growth algorithm allowing to mine for frequent patterns. Template returns subsequent items together with confidence score. </p> <p>Support: <a href="https://github.com/goliasz/pio-template-fpm/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.5</td> <td>requires conversion</td> </tr> </table> <br> </div> <div data-tab="Classification" id="tab-4909151f-a80d-4504-bd00-ba00c15f5c8f"> <h3><a href="https://github.com/apache/incubator-predictionio-template-attribute-based-classifier">Classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&repo=incubator-predictionio-template-attribute-based-classifier&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> An engine template i
s an almost-complete implementation of an engine. PredictionIO's Classification Engine Template has integrated Apache Spark MLlib's Naive Bayes algorithm by default. </p> <p>Support: <a href="http://predictionio.apache.org/support/">Apache PredictionIO mailing lists</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.2</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/haricharan123/PredictionIo-lingpipe-MultiLabelClassification">Classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=haricharan123&repo=PredictionIo-lingpipe-MultiLabelClassification&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template is an almost-complete implementation of an en
gine meant to used with PredictionIO. This Multi-label Classification Engine Template has integrated LingPipe (http://alias-i.com/lingpipe/) algorithm by default. </p> <p>Support: </p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Java</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.5</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/PredictionIO/template-scala-parallel-leadscoring">Lead Scoring</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=PredictionIO&repo=template-scala-parallel-leadscoring&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template predicts the probability of an user will convert (conversion event by user) in the current session. </p> <p>Support: </p> <br> <table> <tr> <th>Type</th> <th>Lang
uage</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/apache/incubator-predictionio-template-text-classifier">Text Classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&repo=incubator-predictionio-template-text-classifier&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Use this engine for general text classification purposes. Uses OpenNLP library for text vectorization, includes t.f.-i.d.f.-based feature transformation and reduction, and uses Spark MLLib's Multinomial Naive Bayes implementation for classification. </p> <p>Support: <a href="https://github.com/apache/incubator-predictionio-template-text-classifier/issues">Github issues</a></p> <br> <ta
ble> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/andrewwuan/PredictionIO-Churn-Prediction-H2O-Sparkling-Water">Churn Prediction - H2O Sparkling Water</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=andrewwuan&repo=PredictionIO-Churn-Prediction-H2O-Sparkling-Water&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This is an engine template with Sparkling Water integration. The goal is to use Deep Learning algorithm to predict the churn rate for a phone carrier's customers. </p> <p>Support: <a href="https://github.com/andrewwuan/PredictionIO-Churn-Prediction-H2O-Sparkling-Water/issues">Github issues</a></p> <br> <table> <tr> <th>Type
</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/detrevid/predictionio-template-classification-dl4j">Classification Deeplearning4j</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=detrevid&repo=predictionio-template-classification-dl4j&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> A classification engine template that uses Deeplearning4j library. </p> <p>Support: <a href="https://github.com/detrevid/predictionio-template-classification-dl4j/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td
>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/EmergentOrder/template-scala-probabilistic-classifier-batch-lbfgs">Probabilistic Classifier (Logistic Regression w/ LBFGS)</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=EmergentOrder&repo=template-scala-probabilistic-classifier-batch-lbfgs&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> A PredictionIO engine template using logistic regression (trained with limited-memory BFGS ) with raw (probabilistic) outputs. </p> <p>Support: <a href="https://github.com/EmergentOrder/template-scala-probabilistic-classifier-batch-lbfgs/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>MIT Li
cense</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/chrischris292/template-classification-opennlp">Document Classification with OpenNLP</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=chrischris292&repo=template-classification-opennlp&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Document Classification template with OpenNLP GISModel. </p> <p>Support: <a href="https://github.com/chrischris292/template-classification-opennlp/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/harry5z/template-circuit-classification-sparkling-
water">Circuit End Use Classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=harry5z&repo=template-circuit-classification-sparkling-water&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> A classification engine template that uses machine learning models trained with sample circuit energy consumption data and end usage to predict the end use of a circuit by its energy consumption history. </p> <p>Support: <a href="https://github.com/harry5z/template-circuit-classification-sparkling-water/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.1</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/ailurus1991/GBRT_Template_PredictionIO">GBRT_Class
ification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=ailurus1991&repo=GBRT_Template_PredictionIO&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> The Gradient-Boosted Regression Trees(GBRT) for classification. </p> <p>Support: <a href="https://github.com/ailurus1991/GBRT_Template_PredictionIO/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/mohanaprasad1994/PredictionIO-MLlib-Decision-Trees-Template">MLlib-Decision-Trees-Template</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=mohanaprasad1994&repo=PredictionIO-MLlib-Decision-Trees-Template&type=star&count=true"
frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> An engine template is an almost-complete implementation of an engine. This is a classification engine template which has integrated Apache Spark MLlib's Decision tree algorithm by default. </p> <p>Support: <a href="https://github.com/mohanaprasad1994/PredictionIO-MLlib-Decision-Trees-Template/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/jimmyywu/predictionio-template-classification-dl4j-multilayer-network">Classification with MultiLayerNetwork</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=jimmyywu&repo=predictionio-template-classification-dl4j-multilayer-network&ty
pe=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine template integrates the MultiLayerNetwork implementation from the Deeplearning4j library into PredictionIO. In this template, we use PredictionIO to classify the widely-known IRIS flower dataset by constructing a deep-belief net. </p> <p>Support: <a href="https://github.com/jimmyywu/predictionio-template-classification-dl4j-multilayer-network/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/thomasste/template-scala-parallel-dl4j-rntn">Deeplearning4j RNTN</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=thomasste&repo=template-scala-parallel
-dl4j-rntn&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Recursive Neural Tensor Network algorithm is supervised learning algorithm used to predict sentiment of sentences. This template is based on deeplearning4j RNTN example: https://github.com/SkymindIO/deeplearning4j-nlp-examples/tree/master/src/main/java/org/deeplearning4j/rottentomatoes/rntn. It's goal is to show how to integrate deeplearning4j library with PredictionIO. </p> <p>Support: <a href="https://github.com/thomasste/template-scala-parallel-dl4j-rntn/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/singsanj/classifier-kafka-streaming-template">c
lassifier-kafka-streaming-template</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=singsanj&repo=classifier-kafka-streaming-template&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> The template will provide a simple integration of DASE with kafka using spark streaming capabilites in order to play around with real time notification, messages .. </p> <p>Support: <a href="https://github.com/singsanj/classifier-kafka-streaming-template/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>-</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/peoplehum/BagOfWords_SentimentAnalysis_Template">Sentiment Analysis - Bag of Words Model</a></h3> <iframe src="https:/
/ghbtns.com/github-btn.html?user=peoplehum&repo=BagOfWords_SentimentAnalysis_Template&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This sentiment analysis template uses a bag of words model. Given text, the engine will return sentiment as 1.0 (positive) or 0.0 (negative) along with scores indicating how +ve or -ve it is. </p> <p>Support: <a href="https://github.com/peoplehum/BagOfWords_SentimentAnalysis_Template/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/jpioug/predictionio-template-iris">Classification template for Iris</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=jpi
oug&repo=predictionio-template-iris&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This is Python(PySpark) based classification example for Iris dataset. </p> <p>Support: </p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Python</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.12.0-incubating</td> <td></td> </tr> </table> <br> </div> <div data-tab="Regression" id="tab-6e8d8f0b-78a8-40ef-8b97-5534f6137727"> <h3><a href="https://github.com/goliasz/pio-template-sr">Survival Regression</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=goliasz&repo=pio-template-sr&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Survival regression template is based on brand new Spark 1.6 AFT (accelerated failur
e time) survival analysis algorithm. There are interesting applications of survival analysis like: </p> <ul class="tab-list"> <li class="tab-list-element">Business Planning : Profiling customers who has a higher survival rate and make strategy accordingly.</li> <li class="tab-list-element">Lifetime Value Prediction : Engage with customers according to their lifetime value</li> <li class="tab-list-element">Active customers : Predict when the customer will be active for the next time and take interventions accordingly. * Campaign evaluation : Monitor effect of campaign on the survival rate of customers.</li> </ul> Source: http://www.analyticsvidhya.com/blog/2014/04/survival-analysis-model-you/ <p>Support: <a href="http://www.analyticsvidhya.com/blog/2014/04/survival-analysis-model-you/">Blog post</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Sca
la</td> <td>Apache Licence 2.0</td> <td>beta</td> <td>0.9.5</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/BensonQiu/predictionio-template-recommendation-sparklingwater">Sparkling Water-Deep Learning Energy Forecasting</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=BensonQiu&repo=predictionio-template-recommendation-sparklingwater&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This Engine Template demonstrates an energy forecasting engine. It integrates Deep Learning from the Sparkling Water library to perform energy analysis. We can query the circuit and time, and return predicted energy usage. </p> <p>Support: <a href="https://github.com/BensonQiu/predictionio-template-recommendation-sparklingwater/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Conves
ion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/detrevid/predictionio-load-forecasting">Electric Load Forecasting</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=detrevid&repo=predictionio-load-forecasting&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This is a PredictionIO engine for electric load forecasting. The engine is using linear regression with stochastic gradient descent from Spark MLlib. </p> <p>Support: <a href="https://github.com/detrevid/predictionio-load-forecasting/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>
0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/RAditi/PredictionIO-MLLib-LinReg-Template">MLLib-LinearRegression</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=RAditi&repo=PredictionIO-MLLib-LinReg-Template&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This template uses the linear regression with stochastic gradient descent algorithm from MLLib to make predictions on real-valued data based on features (explanatory variables) </p> <p>Support: <a href="https://github.com/RAditi/PredictionIO-MLLib-LinReg-Template/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.1</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="http
s://github.com/mgcdanny/pio-linear-regression-bfgs">Linear Regression BFGS</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=mgcdanny&repo=pio-linear-regression-bfgs&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Modeling the relationship between a dependent variable, y, and one or more explanatory variables, denoted X. </p> <p>Support: </p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>beta</td> <td>0.10.0</td> <td></td> </tr> </table> <br> <h3><a href="https://github.com/jpioug/predictionio-template-boston-house-prices">Regression template for Boston House Prices</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=jpioug&repo=predictionio-template-boston-house-prices&type=star&count=true" frameborder=
"0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This is Python(PySpark) based regression example for Boston House Prices dataset. </p> <p>Support: </p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Python</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.12.0-incubating</td> <td></td> </tr> </table> <br> </div> <div data-tab="NLP" id="tab-d02185cc-b549-40bf-a810-c43594cd7050"> <h3><a href="https://github.com/goliasz/pio-template-text-similarity">Cstablo-template-text-similarity-classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=goliasz&repo=pio-template-text-similarity&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Text similarity engine based on Word2Vec algorithm. Builds vectors of full documents in training phase. Find
s similar documents in query phase. </p> <p>Support: <a href="https://github.com/goliasz/pio-template-text-similarity/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.5</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/peoplehum/template-Labelling-Topics-with-wikipedia">Topic Labelling with Wikipedia</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=peoplehum&repo=template-Labelling-Topics-with-wikipedia&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This template will label topics (e.g. topic generated through LDA topic modeling) with relevant category by referring to Wikipedia as a knowledge base. </p> <p>Support: <a href="https://github.com/
peoplehum/template-Labelling-Topics-with-wikipedia/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/apache/incubator-predictionio-template-text-classifier">Text Classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&repo=incubator-predictionio-template-text-classifier&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Use this engine for general text classification purposes. Uses OpenNLP library for text vectorization, includes t.f.-i.d.f.-based feature transformation and reduction, and uses Spark MLLib's Multinomial Naive Bayes implementation for classification. </p>
<p>Support: <a href="https://github.com/apache/incubator-predictionio-template-text-classifier/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/thomasste/template-scala-parallel-dl4j-rntn">Deeplearning4j RNTN</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=thomasste&repo=template-scala-parallel-dl4j-rntn&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Recursive Neural Tensor Network algorithm is supervised learning algorithm used to predict sentiment of sentences. This template is based on deeplearning4j RNTN example: https://github.com/SkymindIO/deeplearning4j-nlp-examples/tree/master/src/ma
in/java/org/deeplearning4j/rottentomatoes/rntn. It's goal is to show how to integrate deeplearning4j library with PredictionIO. </p> <p>Support: <a href="https://github.com/thomasste/template-scala-parallel-dl4j-rntn/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/peoplehum/BagOfWords_SentimentAnalysis_Template">Sentiment Analysis - Bag of Words Model</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=peoplehum&repo=BagOfWords_SentimentAnalysis_Template&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This sentiment analysis template uses a bag of words model. Given text, the engine will return
sentiment as 1.0 (positive) or 0.0 (negative) along with scores indicating how +ve or -ve it is. </p> <p>Support: <a href="https://github.com/peoplehum/BagOfWords_SentimentAnalysis_Template/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/infoquestsolutions/OpenNLP-SentimentAnalysis-Template">OpenNLP Sentiment Analysis Template</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=infoquestsolutions&repo=OpenNLP-SentimentAnalysis-Template&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Given a sentence, this engine will return a score between 0 and 4. This is the sentiment of the senten
ce. The lower the number the more negative the sentence is. It uses the OpenNLP library. </p> <p>Support: <a href="https://github.com/infoquestsolutions/OpenNLP-SentimentAnalysis-Template/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>beta</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> <h3><a href="https://github.com/pawel-n/template-scala-cml-sentiment">Sentiment analysis</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=pawel-n&repo=template-scala-cml-sentiment&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This template implements various algorithms for sentiment analysis, most based on recursive neural networks (RNN) and recursive neural tensor networks (RNTN)
[1]. It uses an experimental library called Composable Machine Learning (CML) and the Stanford Parser. The example data set is the Stanford Sentiment Treebank. </p> <p>Support: <a href="https://github.com/pawel-n/template-scala-cml-sentiment/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/pawel-n/template-scala-parallel-word2vec">Word2Vec</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=pawel-n&repo=template-scala-parallel-word2vec&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This template integrates the Word2Vec implementation from deeplearning4j with PredictionIO. The Word2Vec algorithm
takes a corpus of text and computes a vector representation for each word. These representations can be subsequently used in many natural language processing applications. </p> <p>Support: <a href="https://github.com/pawel-n/template-scala-parallel-word2vec/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/thomasste/template-scala-spark-dl4j-word2vec">Spark Deeplearning4j Word2Vec</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=thomasste&repo=template-scala-spark-dl4j-word2vec&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This template shows how to integrate Deeplearnign4j spark api with Pre
dictionIO on example of app which uses Word2Vec algorithm to predict nearest words. </p> <p>Support: <a href="https://github.com/thomasste/template-scala-spark-dl4j-word2vec/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/whhone/template-sentiment-analysis">Sentiment Analysis Template</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=whhone&repo=template-sentiment-analysis&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Given a sentence, return a score between 0 and 4, indicating the sentence's sentiment. 0 being very negative, 4 being very positive, 2 being neutral. The engine uses the stanf
ord CoreNLP library and the Scala binding `gangeli/CoreNLP-Scala` for parsing. </p> <p>Support: <a href="https://github.com/whhone/template-sentiment-analysis/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>None</td> <td>stable</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/thomasste/template-scala-rnn">Recursive Neural Networks (Sentiment Analysis)</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=thomasste&repo=template-scala-rnn&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Predicting sentiment of phrases with use of Recursive Neural Network algorithm and OpenNLP parser. </p> <p>Support: <a href="https://github.com/thomasste/template-scala-rnn/issues">Github issues</a
></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/Ling-Ling/CoreNLP-Text-Classification">CoreNLP Text Classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=Ling-Ling&repo=CoreNLP-Text-Classification&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This engine uses CoreNLP to do text analysis in order to classify the category a strings of text falls under. </p> <p>Support: <a href="https://github.com/Ling-Ling/CoreNLP-Text-Classification/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</t
h> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>-</td> <td>requires conversion</td> </tr> </table> <br> </div> <div data-tab="Clustering" id="tab-6f623638-f7a9-4860-866e-f735d873c0bd"> <h3><a href="https://github.com/sahiliitm/predictionio-MLlibKMeansClusteringTemplate">MLlibKMeansClustering</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=sahiliitm&repo=predictionio-MLlibKMeansClusteringTemplate&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This is a template which demonstrates the use of K-Means clustering algorithm which can be deployed on a spark-cluster using prediction.io. </p> <p>Support: <a href="https://github.com/sahiliitm/predictionio-MLlibKMeansClusteringTemplate/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </
tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>-</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/EmergentOrder/template-scala-topic-model-LDA">Topc Model (LDA)</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=EmergentOrder&repo=template-scala-topic-model-LDA&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> A PredictionIO engine template using Latent Dirichlet Allocation to learn a topic model from raw text </p> <p>Support: <a href="https://github.com/EmergentOrder/template-scala-topic-model-LDA/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.4</td> <td>requires conversion</td> </tr> </table> <br> <h3>
<a href="https://github.com/singsanj/KMeans-parallel-template">KMeans-Clustering-Template</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=singsanj&repo=KMeans-parallel-template&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> forked from PredictionIO/template-scala-parallel-vanilla. It implements the KMeans Algorithm. Can be extended to mainstream implementation with minor changes. </p> <p>Support: <a href="https://github.com/singsanj/KMeans-parallel-template/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/peoplehum/template-Labelling-Topics-with-wikipedia">Topic Labelling with Wikipedia</a><
/h3> <iframe src="https://ghbtns.com/github-btn.html?user=peoplehum&repo=template-Labelling-Topics-with-wikipedia&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This template will label topics (e.g. topic generated through LDA topic modeling) with relevant category by referring to Wikipedia as a knowledge base. </p> <p>Support: <a href="https://github.com/peoplehum/template-Labelling-Topics-with-wikipedia/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.10.0-incubating</td> <td>already compatible</td> </tr> </table> <br> </div> <div data-tab="Similarity" id="tab-3062ee4c-1d75-4a79-94f4-594641a3d081"> <h3><a href="https://github.com/alexice/template-scala-parallel-svd-item-similarity">Content
Based SVD Item Similarity Engine</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=alexice&repo=template-scala-parallel-svd-item-similarity&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Template to calculate similarity between items based on their attributes—sometimes called content-based similarity. Attributes can be either numeric or categorical in the last case it will be encoded using one-hot encoder. Algorithm uses SVD in order to reduce data dimensionality. Cosine similarity is now implemented but can be easily extended to other similarity measures. </p> <p>Support: <a href="https://groups.google.com/forum/#!forum/actionml-user">The Universal Recommender user group</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <
td>alpha</td> <td>0.9.2</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/goliasz/pio-template-text-similarity">Cstablo-template-text-similarity-classification</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=goliasz&repo=pio-template-text-similarity&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Text similarity engine based on Word2Vec algorithm. Builds vectors of full documents in training phase. Finds similar documents in query phase. </p> <p>Support: <a href="https://github.com/goliasz/pio-template-text-similarity/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.5</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://g
ithub.com/ramaboo/template-scala-parallel-similarproduct-with-rating">Similar Product with Rating</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=ramaboo&repo=template-scala-parallel-similarproduct-with-rating&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Similar product template with rating support! Used for the MovieLens Demo. </p> <p>Support: <a href="https://github.com/ramaboo/template-scala-parallel-similarproduct-with-rating/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>beta</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> </div> <div data-tab="Other" id="tab-782fc478-09a4-48fd-8134-d7ef992b8725"> <h3><a href="https://github.com/goliasz/pio-template-fpm">Frequent Pat
tern Mining</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=goliasz&repo=pio-template-fpm&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Template uses FP Growth algorithm allowing to mine for frequent patterns. Template returns subsequent items together with confidence score. </p> <p>Support: <a href="https://github.com/goliasz/pio-template-fpm/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>alpha</td> <td>0.9.5</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/anthill/template-decision-tree-feature-importance">template-decision-tree-feature-importance</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=anthill&repo=template-decision-tree-feature
-importance&type=star&count=true" frameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> This template shows how to use spark' decision tree. It enables : - both categorical and continuous features - feature importance calculation - tree output in json - reading training data from a csv file </p> <p>Support: <a href="https://github.com/anthill/template-decision-tree-feature-importance/issues">Github issues</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.0</td> <td>requires conversion</td> </tr> </table> <br> <h3><a href="https://github.com/apache/incubator-predictionio-template-skeleton">Skeleton</a></h3> <iframe src="https://ghbtns.com/github-btn.html?user=apache&repo=incubator-predictionio-template-skeleton&type=star&count=true" f
rameborder="0" align="middle" scrolling="0" width="170px" height="20px"></iframe> <p> Skeleton template is for developing new engine when you find other engine templates do not fit your needs. This template provides a skeleton to kick start new engine development. </p> <p>Support: <a href="http://predictionio.apache.org/support/">Apache PredictionIO mailing lists</a></p> <br> <table> <tr> <th>Type</th> <th>Language</th> <th>License</th> <th>Status</th> <th>PIO min version</th> <th>Apache PIO Convesion Required</th> </tr> <tr> <td>Parallel</td> <td>Scala</td> <td>Apache Licence 2.0</td> <td>stable</td> <td>0.9.2</td> <td>already compatible</td> </tr> </table> <br> </div> </div> </div></div></div></div><footer><div class="container"><div class="seperator"></div><div class="row"><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Community</h4><ul><li><a href="//predictionio.apache.org/install/" target="blank">Download</a></li><li><a href="//predictionio.ap
ache.org/" target="blank">Docs</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">GitHub</a></li><li><a href="mailto:user-subscribe@predictionio.apache.org" target="blank">Subscribe to User Mailing List</a></li><li><a href="//stackoverflow.com/questions/tagged/predictionio" target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Contribute</h4><ul><li><a href="//predictionio.apache.org/community/contribute-code/" target="blank">Contribute</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">Source Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO" target="blank">Bug Tracker</a></li><li><a href="mailto:dev-subscribe@predictionio.apache.org" target="blank">Subscribe to Development Mailing List</a></li></ul></div></div></div><div class="row"><div class="col-md-12 footer-link-column"><p>Apache PredictionIO, PredictionIO, Apache, the Apache fe
ather logo, and the Apache PredictionIO project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p><p>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p></div></div></div><div id="footer-bottom"><div class="container"><div class="row"><div class="col-md-12"><div id="footer-logo-wrapper"><img alt="PredictionIO" src="/images/logos/logo-white-d1e9c6e6.png"/><span>®</span></div><div id="social-icons-wrapper"><a class="github-button" href="https://github.com/apache/incubator-predictionio" data-style="mega" data-count-href="/apache/incubator-predictionio/stargazers" data-count-api="/repos/apache/incubator-predictionio#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star apache/incubator-predictionio on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-predictionio/fork" data-icon="octicon-git-branch
" data-style="mega" data-count-href="/apache/incubator-predictionio/network" data-count-api="/repos/apache/incubator-predictionio#forks_count" data-count-aria-label="# forks on GitHub" aria-label="Fork apache/incubator-predictionio on GitHub">Fork</a> <script id="github-bjs" async="" defer="" src="https://buttons.github.io/buttons.js"></script><a href="https://twitter.com/predictionio" target="blank"><img alt="PredictionIO on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a href="https://www.facebook.com/predictionio" target="blank"><img alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a> </div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
+<!DOCTYPE html><html><head><title>Engine Template Gallery</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Engine Template Gallery"/><link rel="canonical" href="https://predictionio.apache.org/gallery/template-gallery/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//cdn.mathjax.org/math
jax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>®</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11 col-xs
-11"><div class="hidden-md hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Browse</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div class="row"><div id="left-menu-wrapper" class="
col-md-3"><nav id="nav-main"><ul><li class="level-1"><a class="expandible" href="/"><span>Apache PredictionIO® Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO®</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a class="fin
al" href="/appintegration/"><span>App Integration Overview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predictions</span></a></li><li class="level-2"><a class="final" href="/deploy/monitoring/"><span
>Monitoring Engine</span></a></li><li class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Collecting and Analyzing Data</sp
an></a><ul><li class="level-2"><a class="final" href="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Choosing an A
lgorithm(s)</span></a><ul><li class="level-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing Evaluation Met
rics</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO® Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/t
emplates/recommendation/evaluation/"><span>Evaluation Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/batch-evaluator/"><span>Batch Pe
rsistable Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/templates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><
a class="final" href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Classification</span></a><ul><li class="level-3
"><a class="final" href="/templates/classification/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final active" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Demo
Tutorials</span></a><ul><li class="level-2"><a class="final" href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final"
<TRUNCATED>
[4/8] predictionio-site git commit: Documentation based on
apache/predictionio#06de8af546d3c688bc8a832a5d09fba57961b1b5
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/templates/classification/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/classification/quickstart/index.html b/templates/classification/quickstart/index.html
index 60a5b96..8848274 100644
--- a/templates/classification/quickstart/index.html
+++ b/templates/classification/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 Classification Engine Template reads 4 properties of a user record: attr0, attr1, attr2 and plan. This templates requires '$set' user events.</p><div class="alert-message info"><p>This template can easily be customized to use different or more number of attributes.</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>loc
alhost: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>To set properties "attr0", "attr1", "attr2" and "plan" for user "u0" 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 <code>$set</code> event for the 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-2afc910f-3485-40db-b5df-7927ea0d0ece">REST API</a></li> <li data-lang="python"><a href="#tab-3903697e-a810-493e-a29f-75d4e7e089dc">Python SDK</a></li> <li data-lang="php"><a href="#tab-a4b8dc7c-e2fa-46cf-a0bb-3645e501cff9">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-1f951a2a-23cd-4fa2-8f3e-9ed153902ca4">Ruby SDK</a></li> <li data-lang="java"><a href="#
tab-0608aa8e-51a5-4fcc-b6bd-4e6013d6340d">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-2afc910f-3485-40db-b5df-7927ea0d0ece"> <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 Classification Engine Template reads 4 properties of a user record: attr0, attr1, attr2 and plan. This templates requires '$set' user events.</p><div class="alert-message info"><p>This template can easily be customized to use different or more number of attributes.</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>loc
alhost: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>To set properties "attr0", "attr1", "attr2" and "plan" for user "u0" 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 <code>$set</code> event for the 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-77d69cb6-1171-44d7-b558-cdfad45555aa">REST API</a></li> <li data-lang="python"><a href="#tab-1071a8b1-bc0a-4657-be31-ae88b741a63c">Python SDK</a></li> <li data-lang="php"><a href="#tab-9a543ad7-f978-4a4a-9319-a2f4f391056b">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-d294cf61-2b54-44cb-90b0-f99afc9d0b53">Ruby SDK</a></li> <li data-lang="java"><a href="#
tab-e0ba59bb-19fa-4c1d-a042-79efe6caca1b">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-77d69cb6-1171-44d7-b558-cdfad45555aa"> <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
@@ -59,7 +59,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-3903697e-a810-493e-a29f-75d4e7e089dc"> <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-1071a8b1-bc0a-4657-be31-ae88b741a63c"> <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
@@ -100,7 +100,7 @@ Your system is all ready to go.
<span class="s">"plan"</span> <span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="o"><</span><span class="n">VALUE</span> <span class="n">OF</span> <span class="n">PLAN</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-a4b8dc7c-e2fa-46cf-a0bb-3645e501cff9"> <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-9a543ad7-f978-4a4a-9319-a2f4f391056b"> <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
@@ -137,7 +137,7 @@ Your system is all ready to go.
<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-1f951a2a-23cd-4fa2-8f3e-9ed153902ca4"> <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-d294cf61-2b54-44cb-90b0-f99afc9d0b53"> <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
@@ -168,7 +168,7 @@ Your system is all ready to go.
<span class="p">}</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-0608aa8e-51a5-4fcc-b6bd-4e6013d6340d"> <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-e0ba59bb-19fa-4c1d-a042-79efe6caca1b"> <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
@@ -203,7 +203,7 @@ Your system is all ready to go.
<span class="s">"plan"</span><span class="o">,</span> <span class="o"><</span><span class="n">VALUE</span> <span class="n">OF</span> <span class="n">PLAN</span><span class="o">></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">event</span><span class="o">);</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>Note that you can also set the properties for the user with multiple <code>$set</code> events (They will be aggregated during engine training).</p><p>To set properties "attr0", "attr1" and "attr2", and "plan" for user "u1" at different time, you can send follwing <code>$set</code> events for the user. To send these events, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-4fde07e2-036d-4c69-86bb-2865260944f5">REST API</a></li> <li data-lang="python"><a href="#tab-90745815-7f66-485a-8dd5-f4694491ad99">Python SDK</a></li> <li data-lang="php"><a href="#tab-6d01b456-3b08-464a-9f83-a54b4ce7613b">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-18e5a997-d559-4117-a5ae-125bf32c2f5a">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-bab3e826-0236-4408-b4a5-1bf5aba47250">Java SDK</a></li> </ul> <div data-tab
="REST API" data-lang="json" id="tab-4fde07e2-036d-4c69-86bb-2865260944f5"> <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>Note that you can also set the properties for the user with multiple <code>$set</code> events (They will be aggregated during engine training).</p><p>To set properties "attr0", "attr1" and "attr2", and "plan" for user "u1" at different time, you can send follwing <code>$set</code> events for the user. To send these events, run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-94f50433-cc9f-44e7-9b05-ef8795bcc01c">REST API</a></li> <li data-lang="python"><a href="#tab-03990858-0cc1-458c-8da1-396a907a4b40">Python SDK</a></li> <li data-lang="php"><a href="#tab-91c03670-2aa6-40d1-b8b9-0d6253597bd5">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-a12c0c38-79e7-48c8-b8fd-d1e3d30127b4">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-9cf32cd6-9480-4024-a527-58d1fad704e4">Java SDK</a></li> </ul> <div data-tab
="REST API" data-lang="json" id="tab-94f50433-cc9f-44e7-9b05-ef8795bcc01c"> <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
@@ -274,7 +274,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-90745815-7f66-485a-8dd5-f4694491ad99"> <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-03990858-0cc1-458c-8da1-396a907a4b40"> <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
@@ -327,7 +327,7 @@ Your system is all ready to go.
<span class="s">"plan"</span> <span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="o"><</span><span class="n">VALUE</span> <span class="n">OF</span> <span class="n">PLAN</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-6d01b456-3b08-464a-9f83-a54b4ce7613b"> <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-91c03670-2aa6-40d1-b8b9-0d6253597bd5"> <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
@@ -390,7 +390,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-18e5a997-d559-4117-a5ae-125bf32c2f5a"> <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-a12c0c38-79e7-48c8-b8fd-d1e3d30127b4"> <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
@@ -433,7 +433,7 @@ Your system is all ready to go.
<span class="p">)</span>
<span class="c1"># Etc...</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-bab3e826-0236-4408-b4a5-1bf5aba47250"> <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-9cf32cd6-9480-4024-a527-58d1fad704e4"> <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
@@ -497,17 +497,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. For example, to predict the label (i.e. <em>plan</em> in this case) of a user with attr0=2, attr1=0 and attr2=0, you send this JSON <code>{ "attr0":2, "attr1":0, "attr2":0 }</code> to the deployed engine and it will return a JSON of the predicted plan. 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 t
o send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-45b20682-b5b2-488e-99fd-7b857181941f">REST API</a></li> <li data-lang="python"><a href="#tab-bdc7ea02-172e-44e7-9073-27548d2f37fc">Python SDK</a></li> <li data-lang="php"><a href="#tab-e24f1a4f-71eb-4227-83e2-4455b6e8d201">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-68b360a8-2565-4776-b807-e2b5fc95950c">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-efc1834e-7d6d-4f41-87eb-1c23a42ecf9b">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="bash" id="tab-45b20682-b5b2-488e-99fd-7b857181941f"> <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. For example, to predict the label (i.e. <em>plan</em> in this case) of a user with attr0=2, attr1=0 and attr2=0, you send this JSON <code>{ "attr0":2, "attr1":0, "attr2":0 }</code> to the deployed engine and it will return a JSON of the predicted plan. 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 t
o send the query:</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-d422ee50-2495-499e-bb4b-19f1cfd9146d">REST API</a></li> <li data-lang="python"><a href="#tab-dc7cae87-e1b2-47c7-a16b-9a6942100d40">Python SDK</a></li> <li data-lang="php"><a href="#tab-9b677450-a6e1-400f-a76e-0f7d2c16e074">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-10bb7f1e-8c3a-4ec9-909a-6c23ba6b2cb4">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-cd64f842-73c4-4bb0-87a1-c4cb59ffdf95">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="bash" id="tab-d422ee50-2495-499e-bb4b-19f1cfd9146d"> <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">'{ "attr0":2, "attr1":0, "attr2":0 }'</span> http://localhost:8000/queries.json
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-bdc7ea02-172e-44e7-9073-27548d2f37fc"> <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-dc7cae87-e1b2-47c7-a16b-9a6942100d40"> <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">"attr0"</span><span class="p">:</span><span class="mi">2</span><span class="p">,</span> <span class="s">"attr1"</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span> <span class="s">"attr2"</span><span class="p">:</span><span class="mi">0</span><span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-e24f1a4f-71eb-4227-83e2-4455b6e8d201"> <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-9b677450-a6e1-400f-a76e-0f7d2c16e074"> <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
@@ -526,7 +526,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-68b360a8-2565-4776-b807-e2b5fc95950c"> <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-10bb7f1e-8c3a-4ec9-909a-6c23ba6b2cb4"> <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
@@ -539,7 +539,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">'attr0'</span> <span class="o">=></span> <span class="mi">2</span><span class="p">,</span> <span class="s1">'attr1'</span> <span class="o">=></span> <span class="mi">0</span><span class="p">,</span> <span class="s1">'attr2'</span> <span class="o">=></span> <span class="mi">0</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-efc1834e-7d6d-4f41-87eb-1c23a42ecf9b"> <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-cd64f842-73c4-4bb0-87a1-c4cb59ffdf95"> <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
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/templates/complementarypurchase/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/complementarypurchase/quickstart/index.html b/templates/complementarypurchase/quickstart/index.html
index 06009c7..c8be82e 100644
--- a/templates/complementarypurchase/quickstart/index.html
+++ b/templates/complementarypurchase/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 training data for this Engine. By default, Complementary Purchase Engine Template supports the following entities: <strong>user</strong>, <strong>item</strong>. A user buys an item. This template requires user-buy-item events.</p><p>Note that the engine requires correct buy event time being used in order to determine if the items being bought are in the same 'basket', which is configured by the 'basketWindow' parameter. Using an unreal event time for the buy events will cause an incorrect model. If you use SDK, the current time is used as event time by default.</p><div class="alert-message warning"><p>In particular, make sure correct event time is specified if you import data in batch (i.e. not in real time). If the event time is omitted, the SDK will use <strong>current time</strong> as event time which
is not the actual time of the buy event in this case!</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> <p>When an user u0 buys item i0 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 buy event. Run the following <code>curl</code> command:
</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-c3d6c061-1e19-4b2a-bd74-9ee1b3bf9dc1">REST API</a></li> <li data-lang="python"><a href="#tab-9da48a02-f08e-4e93-a197-50bd2b133b82">Python SDK</a></li> <li data-lang="php"><a href="#tab-290dec0e-8f2b-40f4-8a5b-1a72267248f3">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-945d02b6-9220-4f71-8088-05eb7efc1762">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-d4979e6c-c8da-4a95-a03a-727455b048e8">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-c3d6c061-1e19-4b2a-bd74-9ee1b3bf9dc1"> <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 training data for this Engine. By default, Complementary Purchase Engine Template supports the following entities: <strong>user</strong>, <strong>item</strong>. A user buys an item. This template requires user-buy-item events.</p><p>Note that the engine requires correct buy event time being used in order to determine if the items being bought are in the same 'basket', which is configured by the 'basketWindow' parameter. Using an unreal event time for the buy events will cause an incorrect model. If you use SDK, the current time is used as event time by default.</p><div class="alert-message warning"><p>In particular, make sure correct event time is specified if you import data in batch (i.e. not in real time). If the event time is omitted, the SDK will use <strong>current time</strong> as event time which
is not the actual time of the buy event in this case!</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> <p>When an user u0 buys item i0 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 buy event. Run the following <code>curl</code> command:
</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-2bd43fb3-5b4f-4b90-98ab-ed105fc60bc0">REST API</a></li> <li data-lang="python"><a href="#tab-0219de3c-e861-4b08-b477-24acd8aae974">Python SDK</a></li> <li data-lang="php"><a href="#tab-c2a49d72-9b06-40ea-9d19-98fa36478b94">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-af918676-b145-404e-b28d-cbfb158973f1">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-e18b3457-18c6-45ec-b036-a1a73d7ced1d">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-2bd43fb3-5b4f-4b90-98ab-ed105fc60bc0"> <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
@@ -51,7 +51,7 @@ Your system is all ready to go.
"targetEntityId" : "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-9da48a02-f08e-4e93-a197-50bd2b133b82"> <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-0219de3c-e861-4b08-b477-24acd8aae974"> <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
@@ -104,7 +104,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">event_time</span><span class="o">=<</span><span class="n">EVENT_TIME</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-290dec0e-8f2b-40f4-8a5b-1a72267248f3"> <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-c2a49d72-9b06-40ea-9d19-98fa36478b94"> <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
@@ -155,7 +155,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-945d02b6-9220-4f71-8088-05eb7efc1762"> <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-af918676-b145-404e-b28d-cbfb158973f1"> <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
@@ -200,7 +200,7 @@ Your system is all ready to go.
<span class="s1">'eventTime'</span> <span class="o">=></span> <span class="o"><</span><span class="no">EVENT_TIME</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-d4979e6c-c8da-4a95-a03a-727455b048e8"> <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-e18b3457-18c6-45ec-b036-a1a73d7ced1d"> <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
@@ -290,7 +290,7 @@ User u10 buys item s2i1 at 2014-10-19 15:43:15.618000-07:53
</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 query the engine. For example, return top 3 items which are frequently bought with item "s2i1". You can sending this JSON '{ "items" : ["s2i1"], "num" : 3 }' to the deployed engine. The engine will return a JSON with the recommeded items.</p><p>If you include one or more items in the query, the engine will use each combination of the query items as condition, and return recommended items if there is any for this condition. For example, if you query items are ["A", "B&qu
ot;], then the engine will use ["A"], ["B"], and ["A", "B"] as condition and try to find top n recommended items for each combination.</p><p>You can 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-a33f643e-2a9a-4d4e-b98a-ae91a259538e">REST API</a></li> <li data-lang="python"><a href="#tab-22dfe5d6-5fe8-410d-ba9d-29d783cb3747">Python SDK</a></li> <li data-lang="php"><a href="#tab-67b0b49b-0dde-4b22-9599-56d7f3a88743">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-d8454959-6933-47cd-bd40-06a5044bace6">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-79d9957a-efe4-4175-a281-679595605bea">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-a33f643e-2a9a-4
d4e-b98a-ae91a259538e"> <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 query the engine. For example, return top 3 items which are frequently bought with item "s2i1". You can sending this JSON '{ "items" : ["s2i1"], "num" : 3 }' to the deployed engine. The engine will return a JSON with the recommeded items.</p><p>If you include one or more items in the query, the engine will use each combination of the query items as condition, and return recommended items if there is any for this condition. For example, if you query items are ["A", "B&qu
ot;], then the engine will use ["A"], ["B"], and ["A", "B"] as condition and try to find top n recommended items for each combination.</p><p>You can 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-3a10da1b-12d7-4a4e-bdc7-e39b35ff80f2">REST API</a></li> <li data-lang="python"><a href="#tab-3f494e76-7d6d-458d-a949-79c36a870ec7">Python SDK</a></li> <li data-lang="php"><a href="#tab-5291e896-bd7a-4a34-a8b6-82eaa6e7e940">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-2f773958-b5a2-41db-9c93-aaeb9743443b">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-dadcb106-60d8-473a-b708-966f22aecc16">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-3a10da1b-12d7-4
a4e-bdc7-e39b35ff80f2"> <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
@@ -303,7 +303,7 @@ User u10 buys item s2i1 at 2014-10-19 15:43:15.618000-07:53
}'</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-22dfe5d6-5fe8-410d-ba9d-29d783cb3747"> <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-3f494e76-7d6d-458d-a949-79c36a870ec7"> <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
@@ -314,7 +314,7 @@ http://localhost:8000/queries.json
<span class="s">"items"</span> <span class="p">:</span> <span class="p">[</span><span class="s">"s2i1"</span><span class="p">],</span>
<span class="s">"num"</span> <span class="p">:</span> <span class="mi">3</span>
<span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-67b0b49b-0dde-4b22-9599-56d7f3a88743"> <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-5291e896-bd7a-4a34-a8b6-82eaa6e7e940"> <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
@@ -341,7 +341,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-d8454959-6933-47cd-bd40-06a5044bace6"> <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-2f773958-b5a2-41db-9c93-aaeb9743443b"> <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
@@ -360,7 +360,7 @@ http://localhost:8000/queries.json
<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-79d9957a-efe4-4175-a281-679595605bea"> <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-dadcb106-60d8-473a-b708-966f22aecc16"> <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
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/templates/ecommercerecommendation/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/ecommercerecommendation/quickstart/index.html b/templates/ecommercerecommendation/quickstart/index.html
index 34c5d1a..6ec3642 100644
--- a/templates/ecommercerecommendation/quickstart/index.html
+++ b/templates/ecommercerecommendation/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 training data for this Engine. By default, the E-Commerce Recommendation Engine Template supports 2 types of entities and 2 events: <strong>user</strong> and <strong>item</strong>; events <strong>view</strong> and <strong>buy</strong>. An item has the <strong>categories</strong> property, which is a list of category names (String). A user can view and buy an item. The specical <strong>constraint</strong> entiy with entityId <strong>unavailableItems</strong> defines a list of unavailable items and is taken into account in realtime during serving.</p><p>In summary, this template requires '$set' user event, '$set' item event, user-view-item events, user-buy-item event and '$set' constraint event.</p><div class="alert-message info"><p>This template can easily be customized to consider other user-to-it
em events.</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> <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-226f27ce-e5dc-4a74-b731-755fcf53cb52">REST API</a></li> <li data-lang="python"><a href="#tab-96c2a5b9-162d-4750-bc22-11679a99213c">Python SDK</a></li> <li data-lang="php"><a href="#tab-4a286511-3fff-4414-912b-3ed88b011963">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-bcffd284-3cab-4509-ace6-924b102e658f">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-0a54aac4-ebc8-4ce6-b6f1-9df5c72a0d9c">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-226f27ce-e5dc-4a74-b731-755fcf53cb52"> <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 training data for this Engine. By default, the E-Commerce Recommendation Engine Template supports 2 types of entities and 2 events: <strong>user</strong> and <strong>item</strong>; events <strong>view</strong> and <strong>buy</strong>. An item has the <strong>categories</strong> property, which is a list of category names (String). A user can view and buy an item. The specical <strong>constraint</strong> entiy with entityId <strong>unavailableItems</strong> defines a list of unavailable items and is taken into account in realtime during serving.</p><p>In summary, this template requires '$set' user event, '$set' item event, user-view-item events, user-buy-item event and '$set' constraint event.</p><div class="alert-message info"><p>This template can easily be customized to consider other user-to-it
em events.</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> <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-eac5f215-8b9c-422c-b835-77f472ac0de2">REST API</a></li> <li data-lang="python"><a href="#tab-b00bb587-80a8-4617-8dec-c8bb095a17ec">Python SDK</a></li> <li data-lang="php"><a href="#tab-14b7f0ef-41c4-4946-ac96-2337a5bcbea2">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-1b3cd478-6cf8-453e-9e04-0387f977c771">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-4ffbc6f1-123d-4eeb-a20f-157519a44840">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-eac5f215-8b9c-422c-b835-77f472ac0de2"> <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-96c2a5b9-162d-4750-bc22-11679a99213c"> <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-b00bb587-80a8-4617-8dec-c8bb095a17ec"> <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-4a286511-3fff-4414-912b-3ed88b011963"> <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-14b7f0ef-41c4-4946-ac96-2337a5bcbea2"> <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
@@ -119,7 +119,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">'categories'</span> <span class="o">=></span> <span class="k">array</span><span class="p">(</span><span class="s1">'<CATEGORY_1>'</span><span class="p">,</span> <span class="s1">'<CATEGORY_2>'</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-bcffd284-3cab-4509-ace6-924b102e658f"> <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-1b3cd478-6cf8-453e-9e04-0387f977c771"> <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
@@ -136,7 +136,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-0a54aac4-ebc8-4ce6-b6f1-9df5c72a0d9c"> <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-4ffbc6f1-123d-4eeb-a20f-157519a44840"> <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
@@ -161,7 +161,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. Note that the item is set with categories properties: <code>"c1"</code> and <code>"c2"</code>. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-404cf47f-b2db-40cb-be01-51452d333351">REST API</a></li> <li data-lang="python"><a href="#tab-2bb4113d-f7ba-400c-8690-a36d0aa87da5">Python SDK</a></li> <li data-lang="php"><a href="#tab-988703f3-603a-47fc-a638-8cd5e0c51eb6">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-4afe6b05-f421-4d59-9211-6f381314798e">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-30647b60-e726-434b-8b03-b4deb98e4a56">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-404cf4
7f-b2db-40cb-be01-51452d333351"> <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 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. Note that the item is set with categories properties: <code>"c1"</code> and <code>"c2"</code>. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-1053b3c4-d885-46b5-9399-bb18fbd61552">REST API</a></li> <li data-lang="python"><a href="#tab-33686cd9-24de-4407-8c3d-3b5979532d24">Python SDK</a></li> <li data-lang="php"><a href="#tab-bc44e7c1-27fe-406e-b961-cc0b3ce1e7b2">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-79a73f18-3790-43e4-83c5-37b12ad3e001">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-1dbb8fda-24dd-440e-bf40-08b078c9b560">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-1053b3
c4-d885-46b5-9399-bb18fbd61552"> <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
@@ -182,7 +182,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-2bb4113d-f7ba-400c-8690-a36d0aa87da5"> <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-33686cd9-24de-4407-8c3d-3b5979532d24"> <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
@@ -201,7 +201,7 @@ Your system is all ready to go.
<span class="s">"categories"</span> <span class="p">:</span> <span class="p">[</span><span class="s">"<CATEGORY_1>"</span><span class="p">,</span> <span class="s">"<CATEGORY_2>"</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-988703f3-603a-47fc-a638-8cd5e0c51eb6"> <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-bc44e7c1-27fe-406e-b961-cc0b3ce1e7b2"> <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
@@ -218,7 +218,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">'categories'</span> <span class="o">=></span> <span class="k">array</span><span class="p">(</span><span class="s1">'<CATEGORY_1>'</span><span class="p">,</span> <span class="s1">'<CATEGORY_2>'</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-4afe6b05-f421-4d59-9211-6f381314798e"> <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-79a73f18-3790-43e4-83c5-37b12ad3e001"> <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
@@ -235,7 +235,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-30647b60-e726-434b-8b03-b4deb98e4a56"> <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-1dbb8fda-24dd-440e-bf40-08b078c9b560"> <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
@@ -248,7 +248,7 @@ Your system is all ready to go.
<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="o">.</span><span class="na">property</span><span class="o">(</span><span class="s">"categories"</span><span class="o">,</span> <span class="n">ImmutableList</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"<CATEGORY_1>"</span><span class="o">,</span> <span class="s">"<CATEGORY_2>"</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>The properties of the <code>user</code> and <code>item</code> can be set, unset, or delete by special events <strong>$set</strong>, <strong>$unset</strong> and <strong>$delete</strong>. Please refer to <a href="/datacollection/eventapi/#note-about-properties">Event API</a> for more details of using these events.</p><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-c42357d2-2c14-44d2-8524-ce2c1135af72">REST API</a></li> <li data-lang="python"><a href="#tab-d8ce113e-f36d-4d10-a190-407797794862">Python SDK</a></li> <li data-lang="php"><a href="#tab-26f0c3d7-61b8-454e-9bde-4946b9a52c6e">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-469d56b2-1d1c-4ab8-b384-4aa492
36f011">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-70cada80-1a13-4d24-ae8f-c8f21d1d52c9">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-c42357d2-2c14-44d2-8524-ce2c1135af72"> <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>The properties of the <code>user</code> and <code>item</code> can be set, unset, or delete by special events <strong>$set</strong>, <strong>$unset</strong> and <strong>$delete</strong>. Please refer to <a href="/datacollection/eventapi/#note-about-properties">Event API</a> for more details of using these events.</p><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-06bfea10-8091-476e-9b7a-07c63098fb2b">REST API</a></li> <li data-lang="python"><a href="#tab-066afbc2-a2e7-4a7c-acf5-74ab58cca73c">Python SDK</a></li> <li data-lang="php"><a href="#tab-73b6b75e-df3b-49da-8bbb-82e076e588bb">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-ad2a637c-6162-4c8e-a14e-b1c9a3
8462aa">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-2a2aeaa9-bd58-4d73-9b6c-f29174dcb203">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-06bfea10-8091-476e-9b7a-07c63098fb2b"> <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
@@ -267,7 +267,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-d8ce113e-f36d-4d10-a190-407797794862"> <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-066afbc2-a2e7-4a7c-acf5-74ab58cca73c"> <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
@@ -284,7 +284,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-26f0c3d7-61b8-454e-9bde-4946b9a52c6e"> <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-73b6b75e-df3b-49da-8bbb-82e076e588bb"> <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
@@ -303,7 +303,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-469d56b2-1d1c-4ab8-b384-4aa49236f011"> <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-ad2a637c-6162-4c8e-a14e-b1c9a38462aa"> <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
@@ -322,7 +322,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-70cada80-1a13-4d24-ae8f-c8f21d1d52c9"> <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-2a2aeaa9-bd58-4d73-9b6c-f29174dcb203"> <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
@@ -337,7 +337,7 @@ Your system is all ready to go.
<span class="o">.</span><span class="na">targetEntityType</span><span class="o">(</span><span class="s">"item"</span><span class="o">)</span>
<span class="o">.</span><span class="na">targetEntityId</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">viewEvent</span><span class="o">);</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>When the user "u0" buy item "i0" on time <code>2014-11-10T13:00:00.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-932959b2-3b0c-49f3-b0cf-9f962ebd54f7">REST API</a></li> <li data-lang="python"><a href="#tab-2ac4ec48-d7d1-46fa-b096-ec265bc7e84e">Python SDK</a></li> <li data-lang="php"><a href="#tab-6ff9972a-1bec-448f-b6fb-017e0969199a">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-bd00b671-2bb8-454c-a085-704debd6c774">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-dc636c8e-e00d-4220-aa86-e14e0397ce42">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-932959b2-3b0c-49f3-b0cf-9f962ebd54f7"> <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" buy item "i0" on time <code>2014-11-10T13:00:00.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-a2541510-317a-4db6-90c7-0b6718387812">REST API</a></li> <li data-lang="python"><a href="#tab-b8aee832-3b16-4004-8218-a10ed60347f1">Python SDK</a></li> <li data-lang="php"><a href="#tab-e207a5a2-6df1-4389-b78f-1a9a961af4c1">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-89a0d257-ad89-4420-b00a-c4c0e531511c">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-abcf13bb-11af-4c2c-9fc7-6aef605f870b">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-a2541510-317a-4db6-90c7-0b6718387812"> <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
@@ -356,7 +356,7 @@ Your system is all ready to go.
"targetEntityId" : "i0",
"eventTime" : "2014-11-10T13:00:00.123-08:00"
}'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-2ac4ec48-d7d1-46fa-b096-ec265bc7e84e"> <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-b8aee832-3b16-4004-8218-a10ed60347f1"> <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
@@ -373,7 +373,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-6ff9972a-1bec-448f-b6fb-017e0969199a"> <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-e207a5a2-6df1-4389-b78f-1a9a961af4c1"> <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
@@ -392,7 +392,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-bd00b671-2bb8-454c-a085-704debd6c774"> <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-89a0d257-ad89-4420-b00a-c4c0e531511c"> <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
@@ -409,7 +409,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-dc636c8e-e00d-4220-aa86-e14e0397ce42"> <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-abcf13bb-11af-4c2c-9fc7-6aef605f870b"> <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
@@ -490,19 +490,19 @@ User u10 buys item i40
</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 recommend 4 items to user ID "u1". You send this JSON <code>{ "user": "u1", "num": 4 }</code> to the deployed engine and it will return a JSON of the recommended items. 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="js
on"><a href="#tab-925a89fd-1212-48cc-be16-33fad87496d6">REST API</a></li> <li data-lang="python"><a href="#tab-3c49926f-7d78-409a-8bbc-a26e2abcc153">Python SDK</a></li> <li data-lang="php"><a href="#tab-ad5e29ce-7a22-421d-8c5f-cf143bd85657">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-9f181ad3-8c22-4cb0-a1dc-9efcc5acbd1e">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-33828d58-52c1-4f72-97d1-e8f4be25e4ae">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-925a89fd-1212-48cc-be16-33fad87496d6"> <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 recommend 4 items to user ID "u1". You send this JSON <code>{ "user": "u1", "num": 4 }</code> to the deployed engine and it will return a JSON of the recommended items. 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="js
on"><a href="#tab-76097885-912f-44fe-8c0b-ae1eca5fd85a">REST API</a></li> <li data-lang="python"><a href="#tab-6591110f-97a4-4861-b3ac-fd4b0dfaf633">Python SDK</a></li> <li data-lang="php"><a href="#tab-8eeb41f9-9d36-4580-bc12-b96050467e43">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-3de2c037-455d-4f98-9741-73e6359e73be">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-63c02d33-cfcd-47f8-85a3-4bb757c1774e">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-76097885-912f-44fe-8c0b-ae1eca5fd85a"> <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": "u1", "num": 4 }'</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-3c49926f-7d78-409a-8bbc-a26e2abcc153"> <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-6591110f-97a4-4861-b3ac-fd4b0dfaf633"> <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">"u1"</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-ad5e29ce-7a22-421d-8c5f-cf143bd85657"> <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-8eeb41f9-9d36-4580-bc12-b96050467e43"> <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
@@ -521,7 +521,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-9f181ad3-8c22-4cb0-a1dc-9efcc5acbd1e"> <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-3de2c037-455d-4f98-9741-73e6359e73be"> <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
@@ -534,7 +534,7 @@ http://localhost:8000/queries.json
<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="s1">'i1'</span><span class="p">,</span> <span class="s1">'num'</span> <span class="o">=></span> <span class="mi">4</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-33828d58-52c1-4f72-97d1-e8f4be25e4ae"> <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-63c02d33-cfcd-47f8-85a3-4bb757c1774e"> <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
@@ -578,7 +578,7 @@ http://localhost:8000/queries.json
<span class="o">{</span><span class="s2">"item"</span>:<span class="s2">"i3"</span>,<span class="s2">"score"</span>:0.003007015026561692<span class="o">}</span>
<span class="o">]</span>
<span class="o">}</span>
-</pre></td></tr></tbody></table> </div> <p><em>MyECommerceRecommendation</em> is now running.</p> <div class="alert-message info"><p>To update the model periodically with new data, simply set up a cron job to call <code>pio train</code> and <code>pio deploy</code>. The engine will continue to serve prediction results during the re-train process. After the training is completed, <code>pio deploy</code> will automatically shutdown the existing engine server and bring up a new process on the same port.</p></div><div class="alert-message info"><p><strong>Note that if you import a <em>large</em> data set</strong> and the training seems to be taking forever or getting stuck, it's likely that there is not enough executor memory. It's recommended to setup a Spark standalone cluster, you'll need to specify more driver and executor memory when training with a large data set. Please see <a href="/resources/faq/#engine-training">FAQ here</a> for instructions.</p></div> <h2 id='setti
ng-constraint-"unavailableitems"' class='header-anchors'>Setting constraint "unavailableItems"</h2><p>Now let's send a item contraint "unavailableItems" (replace accessKey with your Access Key):</p><div class="alert-message note"><p>You can also use SDK to send this event as decribed in the SDK sample above.</p></div><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-4fa1e0f5-05f5-49bd-9330-d93d57ccbf2a">REST API</a></li> <li data-lang="python"><a href="#tab-c219d072-1030-4788-b4e0-f688c4146349">Python SDK</a></li> <li data-lang="php"><a href="#tab-f585231f-a713-4cfb-9890-5864f639e226">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-df692ad4-9dac-4ddb-b4d2-869b62fe77a9">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-d2ffd418-f73d-449c-b3dd-d9fd9f2f71af">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-4fa1e0f5-05f5-49bd-9330-d93d57ccbf2a"> <div class="highlight shell"> <table style="border-s
pacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p><em>MyECommerceRecommendation</em> is now running.</p> <div class="alert-message info"><p>To update the model periodically with new data, simply set up a cron job to call <code>pio train</code> and <code>pio deploy</code>. The engine will continue to serve prediction results during the re-train process. After the training is completed, <code>pio deploy</code> will automatically shutdown the existing engine server and bring up a new process on the same port.</p></div><div class="alert-message info"><p><strong>Note that if you import a <em>large</em> data set</strong> and the training seems to be taking forever or getting stuck, it's likely that there is not enough executor memory. It's recommended to setup a Spark standalone cluster, you'll need to specify more driver and executor memory when training with a large data set. Please see <a href="/resources/faq/#engine-training">FAQ here</a> for instructions.</p></div> <h2 id='setti
ng-constraint-"unavailableitems"' class='header-anchors'>Setting constraint "unavailableItems"</h2><p>Now let's send a item contraint "unavailableItems" (replace accessKey with your Access Key):</p><div class="alert-message note"><p>You can also use SDK to send this event as decribed in the SDK sample above.</p></div><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-e058a060-013f-40ed-ba3d-a3111c5ecb9f">REST API</a></li> <li data-lang="python"><a href="#tab-c553910e-34a7-4fcb-a092-80821b070a85">Python SDK</a></li> <li data-lang="php"><a href="#tab-eeb6a71f-834b-4d6d-9c53-31b029b0b7b2">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-6a7038e2-3b38-4c85-b9b7-ae897aa8b245">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-fcba7ab0-66a5-4c32-b2e3-e6a18dd0197d">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-e058a060-013f-40ed-ba3d-a3111c5ecb9f"> <div class="highlight shell"> <table style="border-s
pacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
2
3
4
@@ -599,7 +599,7 @@ http://localhost:8000/queries.json
}
"eventTime" : "2015-02-17T02:11:21.934Z"
}'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-c219d072-1030-4788-b4e0-f688c4146349"> <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-c553910e-34a7-4fcb-a092-80821b070a85"> <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
@@ -618,7 +618,7 @@ http://localhost:8000/queries.json
<span class="s">"items"</span> <span class="p">:</span> <span class="p">[</span><span class="s">"<ITEM ID1>"</span><span class="p">,</span> <span class="s">"<ITEM ID2>"</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-f585231f-a713-4cfb-9890-5864f639e226"> <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-eeb6a71f-834b-4d6d-9c53-31b029b0b7b2"> <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
@@ -635,7 +635,7 @@ http://localhost:8000/queries.json
<span class="s1">'properties'</span> <span class="o">=></span> <span class="k">array</span><span class="p">(</span><span class="s1">'items'</span> <span class="o">=></span> <span class="k">array</span><span class="p">(</span><span class="s1">'<ITEM ID1>'</span><span class="p">,</span> <span class="s1">'<ITEM ID2>'</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-df692ad4-9dac-4ddb-b4d2-869b62fe77a9"> <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-6a7038e2-3b38-4c85-b9b7-ae897aa8b245"> <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
@@ -650,7 +650,7 @@ http://localhost:8000/queries.json
<span class="s1">'properties'</span> <span class="o">=></span> <span class="p">{</span> <span class="s1">'items'</span> <span class="o">=></span> <span class="p">[</span><span class="s1">'<ITEM ID1>'</span><span class="p">,</span> <span class="s1">'<ITEM ID2>'</span><span class="p">]</span> <span class="p">}</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-d2ffd418-f73d-449c-b3dd-d9fd9f2f71af"> <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-fcba7ab0-66a5-4c32-b2e3-e6a18dd0197d"> <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
[6/8] predictionio-site git commit: Documentation based on
apache/predictionio#06de8af546d3c688bc8a832a5d09fba57961b1b5
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/install/index.html
----------------------------------------------------------------------
diff --git a/install/index.html b/install/index.html
index feaa7cb..27e5272 100644
--- a/install/index.html
+++ b/install/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><title>Installing Apache PredictionIO</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Installing Apache PredictionIO"/><link rel="canonical" href="https://predictionio.apache.org/install/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//cdn.mathjax.org/mathjax
/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>®</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11 col-xs-11
"><div class="hidden-md hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Installing Apache PredictionIO</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div class="row"><div id="left-
menu-wrapper" class="col-md-3"><nav id="nav-main"><ul><li class="level-1"><a class="expandible" href="/"><span>Apache PredictionIO® Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO®</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final active" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Integrating with Your App</span></a><ul><li c
lass="level-2"><a class="final" href="/appintegration/"><span>App Integration Overview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predictions</span></a></li><li class="level-2"><a class="final" href
="/deploy/monitoring/"><span>Monitoring Engine</span></a></li><li class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Colle
cting and Analyzing Data</span></a><ul><li class="level-2"><a class="final" href="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Choosing an Algorithm(s)</span></a><ul><li class="level-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricchoose/"><
span>Choosing Evaluation Metrics</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO® Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/dase/"><span>DASE</span></a></li><li class="level-
3"><a class="final" href="/templates/recommendation/evaluation/"><span>Evaluation Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/batc
h-evaluator/"><span>Batch Persistable Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/templates/similarproduct/quickstart/"><span>Quick Start</span></
a></li><li class="level-3"><a class="final" href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Classification</spa
n></a><ul><li class="level-3"><a class="final" href="/templates/classification/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Demo Tutorials</span></a><ul><li class="level-2"><a class="final" href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final" href="/community/contribute-documentation/"><span>Contribute Documentation</span></a></li><li class="level-2"><a class="final" href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li class="level-2"><a class="final" href="/community/contribute-webhook/"><span>Contribute a Webhook</span></a></li><li class="level-2"><a class="final" hr
ef="/community/projects/"><span>Community Projects</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a class="final" href="/support/"><span>Support</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a class="final" href="/resources/release/"><span>Release Cadence</span></a></li><li class="level-2"><a class="final" href="/resources/intellij/"><span>Developing Engines with IntelliJ IDEA</span></a></li><li class="level-2"><a class="final" href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</span></a></li></ul></li><li class="level-1"><a class="expandible" href=
"#"><span>Apache Software Foundation</span></a><ul><li class="level-2"><a class="final" href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/licenses/"><span>License</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div class="col-md-9 col-sm-12"><div class="content-header hidden-md hidden-lg"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a href="#">Getting Started</a><span class="spacer">></span></li><li><span class="last">Installing Apache PredictionIO</span></li></ul></div><div id="page-title"><h1>Installing Apache PredictionIO</h1></div></div><
div id="table-of-content-wrapper"><h5>On this page</h5><aside id="table-of-contents"><ul> <li> <a href="#prerequisites">Prerequisites</a> </li> <li> <a href="#installation">Installation</a> </li> </ul> </aside><hr/><a id="edit-page-link" href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/install/index.html.md.erb"><img src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div class="content-header hidden-sm hidden-xs"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a href="#">Getting Started</a><span class="spacer">></span></li><li><span class="last">Installing Apache PredictionIO</span></li></ul></div><div id="page-title"><h1>Installing Apache PredictionIO</h1></div></div><div class="content"> <h2 id='prerequisites' class='header-anchors'>Prerequisites</h2><p>It is <strong>very important</strong> to meet the minimum version of the following technologies that power Apache PredictionIO.</p> <ul> <li>Apache Hadoop 2.6.
5 (optional, required only if YARN and HDFS are needed)</li> <li>Apache Spark 1.6.3 for Hadoop 2.6</li> <li>Java SE Development Kit 8</li> </ul> <p>and one of the following sets:</p> <ul> <li>PostgreSQL 9.1</li> </ul> <p>or</p> <ul> <li>MySQL 5.1</li> </ul> <p>or</p> <ul> <li>Apache HBase 0.98.5</li> <li>Elasticsearch 1.7.6</li> </ul> <p>If you are running on a single machine, we recommend a minimum of 2GB memory.</p><div class="alert-message info"><p>If you are using Linux, Apache Spark local mode, which is the default operation mode without further configuration, may not work. In that case, configure your Apache Spark to run in <a href="http://spark.apache.org/docs/latest/spark-standalone.html">standalone cluster mode</a>.</p></div><h2 id='installation' class='header-anchors'>Installation</h2><p>Apache PredictionIO runs on a Java virtual machine, so it runs on most platforms. Choose your platform below:</p> <ul> <li><a href="/install/install-sourcecode/">Installing Apache Predicti
onIO from Source Code</a></li> </ul> <p>You may also use one of the community-contributed packages to install Apache PredictionIO:</p> <ul> <li><a href="/community/projects/#docker-installation-for-predictionio">Installing Apache PredictionIO with Docker</a></li> <li><a href="https://github.com/heroku/predictionio-buildpack">Heroku Buildpack</a> for <a href="https://github.com/heroku/predictionio-buildpack/blob/master/DEV.md">local development</a> and <a href="https://github.com/heroku/predictionio-buildpack/blob/master/CUSTOM.md">deployment</a></li> </ul> <div class="alert-message warning"><p><strong>0.8.2 contains schema changes from the previous versions, if you have installed the previous versions, you may need to clear both HBase and Elasticsearch. See more <a href="/resources/upgrade/">here</a>.</strong></p></div></div></div></div></div><footer><div class="container"><div class="seperator"></div><div class="row"><div class="col-md-6 footer-link-column"><div class="footer-link-
column-row"><h4>Community</h4><ul><li><a href="//predictionio.apache.org/install/" target="blank">Download</a></li><li><a href="//predictionio.apache.org/" target="blank">Docs</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">GitHub</a></li><li><a href="mailto:user-subscribe@predictionio.apache.org" target="blank">Subscribe to User Mailing List</a></li><li><a href="//stackoverflow.com/questions/tagged/predictionio" target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Contribute</h4><ul><li><a href="//predictionio.apache.org/community/contribute-code/" target="blank">Contribute</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">Source Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO" target="blank">Bug Tracker</a></li><li><a href="mailto:dev-subscribe@predictionio.apache.org" target="blank">Subscribe to Development Mailing List</a><
/li></ul></div></div></div><div class="row"><div class="col-md-12 footer-link-column"><p>Apache PredictionIO, PredictionIO, Apache, the Apache feather logo, and the Apache PredictionIO project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p><p>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p></div></div></div><div id="footer-bottom"><div class="container"><div class="row"><div class="col-md-12"><div id="footer-logo-wrapper"><img alt="PredictionIO" src="/images/logos/logo-white-d1e9c6e6.png"/><span>®</span></div><div id="social-icons-wrapper"><a class="github-button" href="https://github.com/apache/incubator-predictionio" data-style="mega" data-count-href="/apache/incubator-predictionio/stargazers" data-count-api="/repos/apache/incubator-predictionio#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star apache/incubator-pre
dictionio on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-predictionio/fork" data-icon="octicon-git-branch" data-style="mega" data-count-href="/apache/incubator-predictionio/network" data-count-api="/repos/apache/incubator-predictionio#forks_count" data-count-aria-label="# forks on GitHub" aria-label="Fork apache/incubator-predictionio on GitHub">Fork</a> <script id="github-bjs" async="" defer="" src="https://buttons.github.io/buttons.js"></script><a href="https://twitter.com/predictionio" target="blank"><img alt="PredictionIO on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a href="https://www.facebook.com/predictionio" target="blank"><img alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a> </div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
+<!DOCTYPE html><html><head><title>Installing Apache PredictionIO®</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Installing Apache PredictionIO®"/><link rel="canonical" href="https://predictionio.apache.org/install/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//cdn.mathjax.org/mat
hjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>®</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11 col-x
s-11"><div class="hidden-md hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Installing Apache PredictionIO</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div class="row"><div id="l
eft-menu-wrapper" class="col-md-3"><nav id="nav-main"><ul><li class="level-1"><a class="expandible" href="/"><span>Apache PredictionIO® Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO®</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final active" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Integrating with Your App</span></a><ul><
li class="level-2"><a class="final" href="/appintegration/"><span>App Integration Overview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predictions</span></a></li><li class="level-2"><a class="final"
href="/deploy/monitoring/"><span>Monitoring Engine</span></a></li><li class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>C
ollecting and Analyzing Data</span></a><ul><li class="level-2"><a class="final" href="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandib
le" href="#"><span>Choosing an Algorithm(s)</span></a><ul><li class="level-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricchoose
/"><span>Choosing Evaluation Metrics</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO® Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/dase/"><span>DASE</span></a></li><li class="le
vel-3"><a class="final" href="/templates/recommendation/evaluation/"><span>Evaluation Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/
batch-evaluator/"><span>Batch Persistable Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/templates/similarproduct/quickstart/"><span>Quick Start</spa
n></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Classification<
/span></a><ul><li class="level-3"><a class="final" href="/templates/classification/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</span></a></li></ul></li><li class="level-1"><a class="expandi
ble" href="#"><span>Demo Tutorials</span></a><ul><li class="level-2"><a class="final" href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final" href="/community/contribute-documentation/"><span>Contribute Documentation</span></a></li><li class="level-2"><a class="final" href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li class="level-2"><a class="final" href="/community/contribute-webhook/"><span>Contribute a Webhook</span></a></li><li class="level-2"><a class="final
" href="/community/projects/"><span>Community Projects</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a class="final" href="/support/"><span>Support</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a class="final" href="/resources/release/"><span>Release Cadence</span></a></li><li class="level-2"><a class="final" href="/resources/intellij/"><span>Developing Engines with IntelliJ IDEA</span></a></li><li class="level-2"><a class="final" href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</span></a></li></ul></li><li class="level-1"><a class="expandible" h
ref="#"><span>Apache Software Foundation</span></a><ul><li class="level-2"><a class="final" href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/licenses/"><span>License</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div class="col-md-9 col-sm-12"><div class="content-header hidden-md hidden-lg"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a href="#">Getting Started</a><span class="spacer">></span></li><li><span class="last">Installing Apache PredictionIO</span></li></ul></div><div id="page-title"><h1>Installing Apache PredictionIO®</h1></div><
/div><div id="table-of-content-wrapper"><h5>On this page</h5><aside id="table-of-contents"><ul> <li> <a href="#prerequisites">Prerequisites</a> </li> <li> <a href="#installation">Installation</a> </li> </ul> </aside><hr/><a id="edit-page-link" href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/install/index.html.md.erb"><img src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div class="content-header hidden-sm hidden-xs"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a href="#">Getting Started</a><span class="spacer">></span></li><li><span class="last">Installing Apache PredictionIO</span></li></ul></div><div id="page-title"><h1>Installing Apache PredictionIO®</h1></div></div><div class="content"> <h2 id='prerequisites' class='header-anchors'>Prerequisites</h2><p>It is <strong>very important</strong> to meet the minimum version of the following technologies that power Apache PredictionIO®.</p> <ul> <li>Apache H
adoop 2.6.5 (optional, required only if YARN and HDFS are needed)</li> <li>Apache Spark 1.6.3 for Hadoop 2.6</li> <li>Java SE Development Kit 8</li> </ul> <p>and one of the following sets:</p> <ul> <li>PostgreSQL 9.1</li> </ul> <p>or</p> <ul> <li>MySQL 5.1</li> </ul> <p>or</p> <ul> <li>Apache HBase 0.98.5</li> <li>Elasticsearch 1.7.6</li> </ul> <p>If you are running on a single machine, we recommend a minimum of 2GB memory.</p><div class="alert-message info"><p>If you are using Linux, Apache Spark local mode, which is the default operation mode without further configuration, may not work. In that case, configure your Apache Spark to run in <a href="http://spark.apache.org/docs/latest/spark-standalone.html">standalone cluster mode</a>.</p></div><h2 id='installation' class='header-anchors'>Installation</h2><p>Apache PredictionIO® runs on a Java virtual machine, so it runs on most platforms. Choose your platform below:</p> <ul> <li><a href="/install/install-sourcecode/">Installing Apa
che PredictionIO from Source Code</a></li> </ul> <p>You may also use one of the community-contributed packages to install Apache PredictionIO®:</p> <ul> <li><a href="/community/projects/#docker-installation-for-predictionio">Installing Apache PredictionIO with Docker</a></li> <li><a href="https://github.com/heroku/predictionio-buildpack">Heroku Buildpack</a> for <a href="https://github.com/heroku/predictionio-buildpack/blob/master/DEV.md">local development</a> and <a href="https://github.com/heroku/predictionio-buildpack/blob/master/CUSTOM.md">deployment</a></li> </ul> <div class="alert-message warning"><p><strong>0.8.2 contains schema changes from the previous versions, if you have installed the previous versions, you may need to clear both HBase and Elasticsearch. See more <a href="/resources/upgrade/">here</a>.</strong></p></div></div></div></div></div><footer><div class="container"><div class="seperator"></div><div class="row"><div class="col-md-6 footer-link-column"><div class
="footer-link-column-row"><h4>Community</h4><ul><li><a href="//predictionio.apache.org/install/" target="blank">Download</a></li><li><a href="//predictionio.apache.org/" target="blank">Docs</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">GitHub</a></li><li><a href="mailto:user-subscribe@predictionio.apache.org" target="blank">Subscribe to User Mailing List</a></li><li><a href="//stackoverflow.com/questions/tagged/predictionio" target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Contribute</h4><ul><li><a href="//predictionio.apache.org/community/contribute-code/" target="blank">Contribute</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">Source Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO" target="blank">Bug Tracker</a></li><li><a href="mailto:dev-subscribe@predictionio.apache.org" target="blank">Subscribe to Development Mai
ling List</a></li></ul></div></div></div><div class="row"><div class="col-md-12 footer-link-column"><p>Apache PredictionIO, PredictionIO, Apache, the Apache feather logo, and the Apache PredictionIO project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p><p>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p></div></div></div><div id="footer-bottom"><div class="container"><div class="row"><div class="col-md-12"><div id="footer-logo-wrapper"><img alt="PredictionIO" src="/images/logos/logo-white-d1e9c6e6.png"/><span>®</span></div><div id="social-icons-wrapper"><a class="github-button" href="https://github.com/apache/incubator-predictionio" data-style="mega" data-count-href="/apache/incubator-predictionio/stargazers" data-count-api="/repos/apache/incubator-predictionio#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star apache
/incubator-predictionio on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-predictionio/fork" data-icon="octicon-git-branch" data-style="mega" data-count-href="/apache/incubator-predictionio/network" data-count-api="/repos/apache/incubator-predictionio#forks_count" data-count-aria-label="# forks on GitHub" aria-label="Fork apache/incubator-predictionio on GitHub">Fork</a> <script id="github-bjs" async="" defer="" src="https://buttons.github.io/buttons.js"></script><a href="https://twitter.com/predictionio" target="blank"><img alt="PredictionIO on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a href="https://www.facebook.com/predictionio" target="blank"><img alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a> </div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
(w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
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');
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/install/install-sourcecode/index.html
----------------------------------------------------------------------
diff --git a/install/install-sourcecode/index.html b/install/install-sourcecode/index.html
index fd4fdf3..4dcf43f 100644
--- a/install/install-sourcecode/index.html
+++ b/install/install-sourcecode/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><title>Installing Apache PredictionIO from Source Code</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Installing Apache PredictionIO from Source Code"/><link rel="canonical" href="https://predictionio.apache.org/install/install-sourcecode/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.mi
n.js"></script><script src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>®</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><div
class="row"><div class="col-md-9 col-sm-11 col-xs-11"><div class="hidden-md hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Installing Apache PredictionIO from Source Code</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div>
<div id="page" class="container-fluid"><div class="row"><div id="left-menu-wrapper" class="col-md-3"><nav id="nav-main"><ul><li class="level-1"><a class="expandible" href="/"><span>Apache PredictionIO® Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO®</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandibl
e" href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a class="final" href="/appintegration/"><span>App Integration Overview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predi
ctions</span></a></li><li class="level-2"><a class="final" href="/deploy/monitoring/"><span>Monitoring Engine</span></a></li><li class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li
><li class="level-1"><a class="expandible" href="#"><span>Collecting and Analyzing Data</span></a><ul><li class="level-2"><a class="final" href="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</spa
n></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Choosing an Algorithm(s)</span></a><ul><li class="level-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li clas
s="level-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing Evaluation Metrics</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO® Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/re
commendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/evaluation/"><span>Evaluation Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class=
"level-3"><a class="final" href="/templates/recommendation/batch-evaluator/"><span>Batch Persistable Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/t
emplates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="le
vel-2"><a class="expandible" href="#"><span>Classification</span></a><ul><li class="level-3"><a class="final" href="/templates/classification/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</sp
an></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Demo Tutorials</span></a><ul><li class="level-2"><a class="final" href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final" href="/community/contribute-documentation/"><span>Contribute Documentation</span></a></li><li class="level-2"><a class="final" href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li class="level-2"><a class="final" href="/community/contribute-webhook/"><span>Contribute a
Webhook</span></a></li><li class="level-2"><a class="final" href="/community/projects/"><span>Community Projects</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a class="final" href="/support/"><span>Support</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a class="final" href="/resources/release/"><span>Release Cadence</span></a></li><li class="level-2"><a class="final" href="/resources/intellij/"><span>Developing Engines with IntelliJ IDEA</span></a></li><li class="level-2"><a class="final" href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</span></a
></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Apache Software Foundation</span></a><ul><li class="level-2"><a class="final" href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/licenses/"><span>License</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div class="col-md-9 col-sm-12"><div class="content-header hidden-md hidden-lg"><div id="page-title"><h1>Installing Apache PredictionIO from Source Code</h1></div></div><div id="table-of-content-wrapper"><h5>On this page</h5><aside id="table-of-contents"><ul> <li> <a href="#downloading-sourc
e-code">Downloading Source Code</a> </li> <li> <a href="#building">Building</a> </li> <li> <a href="#installing-dependencies">Installing Dependencies</a> </li> </ul> </aside><hr/><a id="edit-page-link" href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/install/install-sourcecode.html.md.erb"><img src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div class="content-header hidden-sm hidden-xs"><div id="page-title"><h1>Installing Apache PredictionIO from Source Code</h1></div></div><div class="content"> <div class="alert-message info"><p>Assuming you are following the directory structure in the following, replace <code>/home/abc</code> with your own home directory wherever you see it.</p></div><h2 id='downloading-source-code' class='header-anchors'>Downloading Source Code</h2><p>Download Apache PredictionIO 0.12.0-incubating from an Apache <a href="https://www.apache.org/dyn/closer.cgi/incubator/predictionio/0.12.0-incubating/apa
che-predictionio-0.12.0-incubating.tar.gz">mirror</a>. </p><p>Verify this release using <a href="https://www.apache.org/dist/incubator/predictionio/0.12.0-incubating/">signatures and checksums</a> and <a href="https://www.apache.org/dist/incubator/predictionio/KEYS">project release KEYS</a>.</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
+<!DOCTYPE html><html><head><title>Installing Apache PredictionIO® from Source Code</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Installing Apache PredictionIO® from Source Code"/><link rel="canonical" href="https://predictionio.apache.org/install/install-sourcecode/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shi
v.min.js"></script><script src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>®</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row">
<div class="row"><div class="col-md-9 col-sm-11 col-xs-11"><div class="hidden-md hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Installing Apache PredictionIO® from Source Code</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div>
</div><div id="page" class="container-fluid"><div class="row"><div id="left-menu-wrapper" class="col-md-3"><nav id="nav-main"><ul><li class="level-1"><a class="expandible" href="/"><span>Apache PredictionIO® Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO®</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="exp
andible" href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a class="final" href="/appintegration/"><span>App Integration Overview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch
Predictions</span></a></li><li class="level-2"><a class="final" href="/deploy/monitoring/"><span>Monitoring Engine</span></a></li><li class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></u
l></li><li class="level-1"><a class="expandible" href="#"><span>Collecting and Analyzing Data</span></a><ul><li class="level-2"><a class="final" href="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugi
n</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Choosing an Algorithm(s)</span></a><ul><li class="level-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><l
i class="level-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing Evaluation Metrics</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO® Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templa
tes/recommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/evaluation/"><span>Evaluation Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li
class="level-3"><a class="final" href="/templates/recommendation/batch-evaluator/"><span>Batch Persistable Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" hr
ef="/templates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li cla
ss="level-2"><a class="expandible" href="#"><span>Classification</span></a><ul><li class="level-3"><a class="final" href="/templates/classification/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Templa
te</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Demo Tutorials</span></a><ul><li class="level-2"><a class="final" href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final" href="/community/contribute-documentation/"><span>Contribute Documentation</span></a></li><li class="level-2"><a class="final" href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li class="level-2"><a class="final" href="/community/contribute-webhook/"><span>Contri
bute a Webhook</span></a></li><li class="level-2"><a class="final" href="/community/projects/"><span>Community Projects</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a class="final" href="/support/"><span>Support</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a class="final" href="/resources/release/"><span>Release Cadence</span></a></li><li class="level-2"><a class="final" href="/resources/intellij/"><span>Developing Engines with IntelliJ IDEA</span></a></li><li class="level-2"><a class="final" href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</sp
an></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Apache Software Foundation</span></a><ul><li class="level-2"><a class="final" href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/licenses/"><span>License</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div class="col-md-9 col-sm-12"><div class="content-header hidden-md hidden-lg"><div id="page-title"><h1>Installing Apache PredictionIO® from Source Code</h1></div></div><div id="table-of-content-wrapper"><h5>On this page</h5><aside id="table-of-contents"><ul> <li> <a href="#downloadi
ng-source-code">Downloading Source Code</a> </li> <li> <a href="#building">Building</a> </li> <li> <a href="#installing-dependencies">Installing Dependencies</a> </li> </ul> </aside><hr/><a id="edit-page-link" href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/install/install-sourcecode.html.md.erb"><img src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div class="content-header hidden-sm hidden-xs"><div id="page-title"><h1>Installing Apache PredictionIO® from Source Code</h1></div></div><div class="content"> <div class="alert-message info"><p>Assuming you are following the directory structure in the following, replace <code>/home/abc</code> with your own home directory wherever you see it.</p></div><h2 id='downloading-source-code' class='header-anchors'>Downloading Source Code</h2><p>Download Apache PredictionIO 0.12.0-incubating from an Apache <a href="https://www.apache.org/dyn/closer.cgi/incubator/predictionio/0.12.0-incu
bating/apache-predictionio-0.12.0-incubating.tar.gz">mirror</a>. </p><p>Verify this release using <a href="https://www.apache.org/dist/incubator/predictionio/0.12.0-incubating/">signatures and checksums</a> and <a href="https://www.apache.org/dist/incubator/predictionio/KEYS">project release KEYS</a>.</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="gp">$ </span>gpg --import KEYS
<span class="gp">$ </span>gpg --verify apache-predictionio-0.12.0-incubating.tar.gz.asc apache-predictionio-0.12.0-incubating.tar.gz
</pre></td></tr></tbody></table> </div> <p>You should see something like this.</p><div class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
@@ -6,7 +6,7 @@
3</pre></td><td class="code"><pre>gpg: Signature made Tue Sep 26 22:55:22 2017 PDT
gpg: using RSA key 7E2363D84719A8F4
gpg: Good signature from <span class="s2">"Chan Lee <chanlee@apache.org>"</span> <span class="o">[</span>ultimate]
-</pre></td></tr></tbody></table> </div> <h2 id='building' class='header-anchors'>Building</h2><p>Run the following at the directory where you downloaded the source code to build Apache PredictionIO. By default, the build will be against</p> <ul> <li>Scala 2.11.8</li> <li>Spark 2.1.1</li> <li>Hadoop 2.7.3</li> <li>Elasticsearch 5.5.2</li> </ul> <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> <h2 id='building' class='header-anchors'>Building</h2><p>Run the following at the directory where you downloaded the source code to build Apache PredictionIO®. By default, the build will be against</p> <ul> <li>Scala 2.11.8</li> <li>Spark 2.1.1</li> <li>Hadoop 2.7.3</li> <li>Elasticsearch 5.5.2</li> </ul> <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>tar zxvf apache-predictionio-0.12.0-incubating.tar.gz
<span class="gp">$ </span><span class="nb">cd </span>apache-predictionio-0.12.0-incubating
[5/8] predictionio-site git commit: Documentation based on
apache/predictionio#06de8af546d3c688bc8a832a5d09fba57961b1b5
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/samples/tabs/index.html
----------------------------------------------------------------------
diff --git a/samples/tabs/index.html b/samples/tabs/index.html
index 012b9f1..a54428b 100644
--- a/samples/tabs/index.html
+++ b/samples/tabs/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><title>Tabs</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Tabs"/><link rel="canonical" href="https://predictionio.apache.org/samples/tabs/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML
"></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>®</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11 col-xs-11"><div class="hidden-md hidden-lg" id="mobile-p
age-heading-wrapper"><p>PredictionIO Docs</p><h4>Tabs</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div class="row"><div id="left-menu-wrapper" class="col-md-3"><nav id="nav-main"><ul><li class="level-1"
><a class="expandible" href="/"><span>Apache PredictionIO® Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO®</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a class="final" href="/appintegration/"><span>App Integration Ov
erview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predictions</span></a></li><li class="level-2"><a class="final" href="/deploy/monitoring/"><span>Monitoring Engine</span></a></li><li class="level-2
"><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Collecting and Analyzing Data</span></a><ul><li class="level-2"><a class="final" href
="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Choosing an Algorithm(s)</span></a><ul><li class="level-2"><a cla
ss="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing Evaluation Metrics</span></a></li><li class="level-2"><a class="fi
nal" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO® Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/evaluation/"><span>Evaluatio
n Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/batch-evaluator/"><span>Batch Persistable Evaluator</span></a></li></ul></li><li cla
ss="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/templates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/dase
/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Classification</span></a><ul><li class="level-3"><a class="final" href="/templates/classification/q
uickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Demo Tutorials</span></a><ul><li class="level-2"><a class="final
" href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final" href="/community/contribute-documentation/"><span>Contribute Documentation</span></a></li><li class="level-2"><a class="final" href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li class="level-2"><a class="final" href="/community/contribute-webhook/"><span>Contribute a Webhook</span></a></li><li class="level-2"><a class="final" href="/community/projects/"><span>Community Projects</span></a></li></ul></li><li
class="level-1"><a class="expandible" href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a class="final" href="/support/"><span>Support</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a class="final" href="/resources/release/"><span>Release Cadence</span></a></li><li class="level-2"><a class="final" href="/resources/intellij/"><span>Developing Engines with IntelliJ IDEA</span></a></li><li class="level-2"><a class="final" href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Apache Software Foundation</span></a><ul><li class="level-2"><a class=
"final" href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/licenses/"><span>License</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div class="col-md-9 col-sm-12"><div class="content-header hidden-md hidden-lg"><div id="page-title"><h1>Tabs</h1></div></div><div id="table-of-content-wrapper"><h5>On this page</h5><aside id="table-of-contents"><ul> <li> <a href="#test-syncing">Test Syncing</a> </li> </ul> </aside><hr/><a id="edit-page-link" href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/samples/tabs.html.md"><img src="/imag
es/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div class="content-header hidden-sm hidden-xs"><div id="page-title"><h1>Tabs</h1></div></div><div class="content"> <p>This page is used to test the tabs plugin based on <a href="https://github.com/vdw/Tabslet">Tabslet</a>.</p><div class="tabs"> <ul class="control"> <li data-lang="ruby"><a href="#tab-e70a2db7-4317-4386-a6e8-30bd0f70f1c4">Ruby</a></li> <li data-lang=""><a href="#tab-2b464f9d-ad3f-4276-b1e9-707b4872eb57">Plain</a></li> <li data-lang="html"><a href="#tab-64fa0882-e3d8-42a7-bc33-6f3673163d73">HTML</a></li> <li data-lang=""><a href="#tab-6120aaaf-0a4c-436e-9e48-5439110e60cf">Test</a></li> </ul> <div data-tab="Ruby" data-lang="ruby" id="tab-e70a2db7-4317-4386-a6e8-30bd0f70f1c4"> <div class="highlight ruby"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+<!DOCTYPE html><html><head><title>Tabs</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Tabs"/><link rel="canonical" href="https://predictionio.apache.org/samples/tabs/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML
"></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>®</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11 col-xs-11"><div class="hidden-md hidden-lg" id="mobile-p
age-heading-wrapper"><p>PredictionIO Docs</p><h4>Tabs</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div class="row"><div id="left-menu-wrapper" class="col-md-3"><nav id="nav-main"><ul><li class="level-1"
><a class="expandible" href="/"><span>Apache PredictionIO® Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO®</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a class="final" href="/appintegration/"><span>App Integration Ov
erview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predictions</span></a></li><li class="level-2"><a class="final" href="/deploy/monitoring/"><span>Monitoring Engine</span></a></li><li class="level-2
"><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Collecting and Analyzing Data</span></a><ul><li class="level-2"><a class="final" href
="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Choosing an Algorithm(s)</span></a><ul><li class="level-2"><a cla
ss="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing Evaluation Metrics</span></a></li><li class="level-2"><a class="fi
nal" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO® Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/evaluation/"><span>Evaluatio
n Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/batch-evaluator/"><span>Batch Persistable Evaluator</span></a></li></ul></li><li cla
ss="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/templates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/dase
/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Classification</span></a><ul><li class="level-3"><a class="final" href="/templates/classification/q
uickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Demo Tutorials</span></a><ul><li class="level-2"><a class="final
" href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final" href="/community/contribute-documentation/"><span>Contribute Documentation</span></a></li><li class="level-2"><a class="final" href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li class="level-2"><a class="final" href="/community/contribute-webhook/"><span>Contribute a Webhook</span></a></li><li class="level-2"><a class="final" href="/community/projects/"><span>Community Projects</span></a></li></ul></li><li
class="level-1"><a class="expandible" href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a class="final" href="/support/"><span>Support</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a class="final" href="/resources/release/"><span>Release Cadence</span></a></li><li class="level-2"><a class="final" href="/resources/intellij/"><span>Developing Engines with IntelliJ IDEA</span></a></li><li class="level-2"><a class="final" href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Apache Software Foundation</span></a><ul><li class="level-2"><a class=
"final" href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/licenses/"><span>License</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div class="col-md-9 col-sm-12"><div class="content-header hidden-md hidden-lg"><div id="page-title"><h1>Tabs</h1></div></div><div id="table-of-content-wrapper"><h5>On this page</h5><aside id="table-of-contents"><ul> <li> <a href="#test-syncing">Test Syncing</a> </li> </ul> </aside><hr/><a id="edit-page-link" href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/samples/tabs.html.md"><img src="/imag
es/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div class="content-header hidden-sm hidden-xs"><div id="page-title"><h1>Tabs</h1></div></div><div class="content"> <p>This page is used to test the tabs plugin based on <a href="https://github.com/vdw/Tabslet">Tabslet</a>.</p><div class="tabs"> <ul class="control"> <li data-lang="ruby"><a href="#tab-01f50b70-f803-4550-9389-4fa6ab5a096c">Ruby</a></li> <li data-lang=""><a href="#tab-e050d324-7071-45e3-a6d3-dd1ae0bc40d6">Plain</a></li> <li data-lang="html"><a href="#tab-d45286dc-85bd-43eb-b6e7-57727fec1cea">HTML</a></li> <li data-lang=""><a href="#tab-210ac55c-3b0f-4f61-b468-ab5381ae26fc">Test</a></li> </ul> <div data-tab="Ruby" data-lang="ruby" id="tab-01f50b70-f803-4550-9389-4fa6ab5a096c"> <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
@@ -9,11 +9,11 @@
<span class="s1">'bar'</span>
<span class="k">end</span>
<span class="k">end</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Plain" id="tab-2b464f9d-ad3f-4276-b1e9-707b4872eb57"> This is a test of **markdown** inside a tab! <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 data-tab="Plain" id="tab-e050d324-7071-45e3-a6d3-dd1ae0bc40d6"> This is a test of **markdown** inside a tab! <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>// This tab does not have the data-lang attribute <span class="nb">set</span>!
<span class="gp">$ </span><span class="nb">cd </span>path/to/your/file
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="HTML" data-lang="html" id="tab-64fa0882-e3d8-42a7-bc33-6f3673163d73"> <div class="highlight html"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre><span class="nt"><p></span>Yes you can still use HTML in code blocks!<span class="nt"></p></span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Test" id="tab-6120aaaf-0a4c-436e-9e48-5439110e60cf"> <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="HTML" data-lang="html" id="tab-d45286dc-85bd-43eb-b6e7-57727fec1cea"> <div class="highlight html"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre><span class="nt"><p></span>Yes you can still use HTML in code blocks!<span class="nt"></p></span>
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Test" id="tab-210ac55c-3b0f-4f61-b468-ab5381ae26fc"> <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
@@ -28,7 +28,7 @@ Test</span> <span class="na">5 =</span><span class="err">>
</span><span class="s">Test</span> <span class="na">6</span> <span class="err"><=</span>
<span class="na">Test</span> <span class="na">7</span> <span class="err"><</span><span class="nt">></span>
<span class="nt"><p><b></span>Test<span class="nt"></b></p></span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <h2 id='test-syncing' class='header-anchors'>Test Syncing</h2><p>Here we show a similar set of tabs to test language syncing:</p><div class="tabs"> <ul class="control"> <li data-lang="ruby"><a href="#tab-61502acb-c408-4e42-9203-d07bc7c92ea4">Ruby</a></li> <li data-lang=""><a href="#tab-9f8d3c2c-ec72-443d-92bf-165778ec8a34">Plain</a></li> <li data-lang="html"><a href="#tab-fa77ed1b-7538-4167-8dd3-a0a00faa3399">HTML</a></li> <li data-lang="python"><a href="#tab-2189b8d1-a46f-424b-b328-32dfbd45e02e">Python</a></li> </ul> <div data-tab="Ruby" data-lang="ruby" id="tab-61502acb-c408-4e42-9203-d07bc7c92ea4"> <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> <h2 id='test-syncing' class='header-anchors'>Test Syncing</h2><p>Here we show a similar set of tabs to test language syncing:</p><div class="tabs"> <ul class="control"> <li data-lang="ruby"><a href="#tab-40d96cc1-4a1a-40e9-8625-576882ede21f">Ruby</a></li> <li data-lang=""><a href="#tab-37cd512e-8ad4-4640-91fa-f01f115fb32c">Plain</a></li> <li data-lang="html"><a href="#tab-73f33a2b-e2db-4543-ac9f-21355d5125a6">HTML</a></li> <li data-lang="python"><a href="#tab-9f396ebe-2cb6-48b7-9010-0a471574f686">Python</a></li> </ul> <div data-tab="Ruby" data-lang="ruby" id="tab-40d96cc1-4a1a-40e9-8625-576882ede21f"> <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
@@ -39,12 +39,12 @@ Test</span> <span class="na">5 =</span><span class="err">>
<span class="s1">'bar'</span>
<span class="k">end</span>
<span class="k">end</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Plain" id="tab-9f8d3c2c-ec72-443d-92bf-165778ec8a34"> This is a test of **markdown** inside a tab! <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 data-tab="Plain" id="tab-37cd512e-8ad4-4640-91fa-f01f115fb32c"> This is a test of **markdown** inside a tab! <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>// This tab does not have the data-lang attribute <span class="nb">set</span>!
<span class="gp">$ </span><span class="nb">cd </span>path/to/your/file
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="HTML" data-lang="html" id="tab-fa77ed1b-7538-4167-8dd3-a0a00faa3399"> <p>This HTML is <b>hard coded</b>.</p> </div> <div data-tab="Python" data-lang="python" id="tab-2189b8d1-a46f-424b-b328-32dfbd45e02e"> <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> <td class="code"><pre><span class="c"># The other group does not have a Python tab.</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <div class="tabs"> <ul class="control"> <li data-lang="java"><a href="#tab-241b65c9-ee37-4e19-9ab4-5770ba2f9617">Java</a></li> <li data-lang="html"><a href="#tab-fc10e3ee-0b63-41af-aa90-e580dd9c02a2">HTML</a></li> </ul> <div data-tab="Java" data-lang="java" id="tab-241b65c9-ee37-4e19-9ab4-5770ba2f9617"> <div class="highlight plaintext"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre>// Java code..
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="HTML" data-lang="html" id="tab-fc10e3ee-0b63-41af-aa90-e580dd9c02a2"> This includes **bold** with Markdown. </div> </div> </div></div></div></div><footer><div class="container"><div class="seperator"></div><div class="row"><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Community</h4><ul><li><a href="//predictionio.apache.org/install/" target="blank">Download</a></li><li><a href="//predictionio.apache.org/" target="blank">Docs</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">GitHub</a></li><li><a href="mailto:user-subscribe@predictionio.apache.org" target="blank">Subscribe to User Mailing List</a></li><li><a href="//stackoverflow.com/questions/tagged/predictionio" target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Contribute</h4><ul><li><a href="//predictionio.apache.org/comm
unity/contribute-code/" target="blank">Contribute</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">Source Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO" target="blank">Bug Tracker</a></li><li><a href="mailto:dev-subscribe@predictionio.apache.org" target="blank">Subscribe to Development Mailing List</a></li></ul></div></div></div><div class="row"><div class="col-md-12 footer-link-column"><p>Apache PredictionIO, PredictionIO, Apache, the Apache feather logo, and the Apache PredictionIO project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p><p>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p></div></div></div><div id="footer-bottom"><div class="container"><div class="row"><div class="col-md-12"><div id="footer-logo-wrapper"><img alt="PredictionIO" src="/images/logos/logo-white-d1e9c6e6.png"/><span>®</span>
</div><div id="social-icons-wrapper"><a class="github-button" href="https://github.com/apache/incubator-predictionio" data-style="mega" data-count-href="/apache/incubator-predictionio/stargazers" data-count-api="/repos/apache/incubator-predictionio#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star apache/incubator-predictionio on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-predictionio/fork" data-icon="octicon-git-branch" data-style="mega" data-count-href="/apache/incubator-predictionio/network" data-count-api="/repos/apache/incubator-predictionio#forks_count" data-count-aria-label="# forks on GitHub" aria-label="Fork apache/incubator-predictionio on GitHub">Fork</a> <script id="github-bjs" async="" defer="" src="https://buttons.github.io/buttons.js"></script><a href="https://twitter.com/predictionio" target="blank"><img alt="PredictionIO on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a href="https:
//www.facebook.com/predictionio" target="blank"><img alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a> </div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="HTML" data-lang="html" id="tab-73f33a2b-e2db-4543-ac9f-21355d5125a6"> <p>This HTML is <b>hard coded</b>.</p> </div> <div data-tab="Python" data-lang="python" id="tab-9f396ebe-2cb6-48b7-9010-0a471574f686"> <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> <td class="code"><pre><span class="c"># The other group does not have a Python tab.</span>
+</pre></td> </tr></tbody></table> </div> </div> </div> <div class="tabs"> <ul class="control"> <li data-lang="java"><a href="#tab-af81c6e2-53ce-4ee3-b66d-10678663951e">Java</a></li> <li data-lang="html"><a href="#tab-9026045c-01a5-4251-91f1-60451bad46de">HTML</a></li> </ul> <div data-tab="Java" data-lang="java" id="tab-af81c6e2-53ce-4ee3-b66d-10678663951e"> <div class="highlight plaintext"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td> <td class="code"><pre>// Java code..
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="HTML" data-lang="html" id="tab-9026045c-01a5-4251-91f1-60451bad46de"> This includes **bold** with Markdown. </div> </div> </div></div></div></div><footer><div class="container"><div class="seperator"></div><div class="row"><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Community</h4><ul><li><a href="//predictionio.apache.org/install/" target="blank">Download</a></li><li><a href="//predictionio.apache.org/" target="blank">Docs</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">GitHub</a></li><li><a href="mailto:user-subscribe@predictionio.apache.org" target="blank">Subscribe to User Mailing List</a></li><li><a href="//stackoverflow.com/questions/tagged/predictionio" target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Contribute</h4><ul><li><a href="//predictionio.apache.org/comm
unity/contribute-code/" target="blank">Contribute</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">Source Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO" target="blank">Bug Tracker</a></li><li><a href="mailto:dev-subscribe@predictionio.apache.org" target="blank">Subscribe to Development Mailing List</a></li></ul></div></div></div><div class="row"><div class="col-md-12 footer-link-column"><p>Apache PredictionIO, PredictionIO, Apache, the Apache feather logo, and the Apache PredictionIO project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p><p>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p></div></div></div><div id="footer-bottom"><div class="container"><div class="row"><div class="col-md-12"><div id="footer-logo-wrapper"><img alt="PredictionIO" src="/images/logos/logo-white-d1e9c6e6.png"/><span>®</span>
</div><div id="social-icons-wrapper"><a class="github-button" href="https://github.com/apache/incubator-predictionio" data-style="mega" data-count-href="/apache/incubator-predictionio/stargazers" data-count-api="/repos/apache/incubator-predictionio#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star apache/incubator-predictionio on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-predictionio/fork" data-icon="octicon-git-branch" data-style="mega" data-count-href="/apache/incubator-predictionio/network" data-count-api="/repos/apache/incubator-predictionio#forks_count" data-count-aria-label="# forks on GitHub" aria-label="Fork apache/incubator-predictionio on GitHub">Fork</a> <script id="github-bjs" async="" defer="" src="https://buttons.github.io/buttons.js"></script><a href="https://twitter.com/predictionio" target="blank"><img alt="PredictionIO on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a href="https:
//www.facebook.com/predictionio" target="blank"><img alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a> </div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
(w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
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');
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/sitemap.xml
----------------------------------------------------------------------
diff --git a/sitemap.xml b/sitemap.xml
index 11ccc08..987b196 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,781 +2,781 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>//predictionio.apache.org/search/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/deploy/plugin/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/deploy/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/deploy/monitoring/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/deploy/enginevariants/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/deploy/engineparams/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/github/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/algorithm/switch/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/algorithm/multiple/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/algorithm/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/algorithm/custom/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/appintegration/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/resources/intellij/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/resources/glossary/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/resources/release/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/resources/faq/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/resources/upgrade/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/datacollection/batchimport/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/datacollection/eventmodel/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/datacollection/eventapi/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/datacollection/plugin/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/datacollection/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/datacollection/analytics-zeppelin/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/datacollection/channel/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/datacollection/analytics/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/datacollection/analytics-ipynb/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/datacollection/analytics-tableau/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/datacollection/webhooks/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/demo/supervisedlearning/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/demo/textclassification/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/demo/community/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/demo/tapster/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/demo/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/sdk/java/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/sdk/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/sdk/python/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/sdk/community/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/sdk/ruby/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/sdk/php/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/samples/level-4-3/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/samples/level-4/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/samples/level-4-1/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/samples/level-3-2/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/samples/level-3-1/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/samples/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/samples/level-1/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/samples/level-4-2/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/samples/level-2-1/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/samples/level-2-2/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/samples/level-3/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/samples/level-2/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/customize/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/customize/troubleshooting/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/customize/dase/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/support/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/evaluation/paramtuning/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/evaluation/metricchoose/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/evaluation/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/evaluation/history/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/evaluation/evaluationdashboard/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/evaluation/metricbuild/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/404/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/start/customize/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/start/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/start/download/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/start/deploy/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/cli/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/batchpredict/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/community/submit-template/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/community/contribute-sdk/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/community/contribute-webhook/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/community/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/community/contribute-code/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/community/projects/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/community/contribute-documentation/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/production/deploy-cloudformation/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/machinelearning/dimensionalityreduction/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/machinelearning/modelingworkflow/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/tryit/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/system/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/system/deploy-cloudformation/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/system/anotherdatastore/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/gallery/template-gallery/</loc>
- <lastmod>2018-03-01T22:51:28+00:00</lastmod>
+ <lastmod>2018-03-02T00:08:12+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/install/sdk/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/install/config-datastore/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/install/launch-aws/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/install/install-vagrant/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/install/install-sourcecode/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/install/install-linux/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/install/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/vanilla/quickstart/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/vanilla/dase/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/similarproduct/quickstart/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/similarproduct/rid-user-set-event/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/similarproduct/recommended-user/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/similarproduct/return-item-properties/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/similarproduct/multi-events-multi-algos/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/similarproduct/train-with-rate-event/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/similarproduct/dase/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/similarproduct/how-to/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/classification/quickstart/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/classification/add-algorithm/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/classification/reading-custom-properties/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/classification/dase/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/classification/how-to/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/complementarypurchase/quickstart/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/complementarypurchase/dase/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/ecommercerecommendation/quickstart/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/ecommercerecommendation/train-with-rate-event/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/ecommercerecommendation/adjust-score/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/ecommercerecommendation/dase/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/ecommercerecommendation/how-to/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/recommendation/blacklist-items/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/recommendation/training-with-implicit-preference/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/recommendation/quickstart/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/recommendation/evaluation/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/recommendation/customize-serving/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/recommendation/reading-custom-events/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/recommendation/customize-data-prep/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/recommendation/batch-evaluator/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/recommendation/dase/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/recommendation/how-to/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/productranking/quickstart/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/productranking/dase/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/leadscoring/quickstart/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/leadscoring/dase/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/javaecommercerecommendation/quickstart/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>//predictionio.apache.org/templates/javaecommercerecommendation/dase/</loc>
- <lastmod>2018-03-01T22:51:06+00:00</lastmod>
+ <lastmod>2018-03-02T00:07:48+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
[8/8] predictionio-site git commit: Documentation based on
apache/predictionio#06de8af546d3c688bc8a832a5d09fba57961b1b5
Posted by gi...@apache.org.
Documentation based on apache/predictionio#06de8af546d3c688bc8a832a5d09fba57961b1b5
Project: http://git-wip-us.apache.org/repos/asf/predictionio-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/predictionio-site/commit/41d3b97b
Tree: http://git-wip-us.apache.org/repos/asf/predictionio-site/tree/41d3b97b
Diff: http://git-wip-us.apache.org/repos/asf/predictionio-site/diff/41d3b97b
Branch: refs/heads/asf-site
Commit: 41d3b97b4843e6326eadcab116526ddacfeabd43
Parents: 1edaec4
Author: jenkins <bu...@apache.org>
Authored: Fri Mar 2 00:16:27 2018 +0000
Committer: jenkins <bu...@apache.org>
Committed: Fri Mar 2 00:16:27 2018 +0000
----------------------------------------------------------------------
community/projects/index.html | 2 +-
datacollection/batchimport/index.html | 4 +-
datacollection/channel/index.html | 6 +-
datacollection/eventapi/index.html | 20 +-
gallery/template-gallery/index.html | 2 +-
install/index.html | 2 +-
install/install-sourcecode/index.html | 4 +-
samples/tabs/index.html | 18 +-
sitemap.xml | 260 +++++++++----------
templates/classification/quickstart/index.html | 30 +--
.../complementarypurchase/quickstart/index.html | 20 +-
.../quickstart/index.html | 60 ++---
.../quickstart/index.html | 60 ++---
templates/leadscoring/quickstart/index.html | 30 +--
templates/productranking/quickstart/index.html | 40 +--
templates/recommendation/quickstart/index.html | 30 +--
templates/similarproduct/quickstart/index.html | 40 +--
templates/vanilla/quickstart/index.html | 10 +-
18 files changed, 319 insertions(+), 319 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/community/projects/index.html
----------------------------------------------------------------------
diff --git a/community/projects/index.html b/community/projects/index.html
index 6e6687d..0a53bcc 100644
--- a/community/projects/index.html
+++ b/community/projects/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><title>Community Powered Projects</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Community Powered Projects"/><link rel="canonical" href="https://predictionio.apache.org/community/projects/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//cdn.mathjax.org/math
jax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>®</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11 col-xs
-11"><div class="hidden-md hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Community Projects</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div class="row"><div id="left-menu-wrap
per" class="col-md-3"><nav id="nav-main"><ul><li class="level-1"><a class="expandible" href="/"><span>Apache PredictionIO® Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO®</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><
a class="final" href="/appintegration/"><span>App Integration Overview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predictions</span></a></li><li class="level-2"><a class="final" href="/deploy/monito
ring/"><span>Monitoring Engine</span></a></li><li class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Collecting and Analyz
ing Data</span></a><ul><li class="level-2"><a class="final" href="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>C
hoosing an Algorithm(s)</span></a><ul><li class="level-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing Ev
aluation Metrics</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO® Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="fin
al" href="/templates/recommendation/evaluation/"><span>Evaluation Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/batch-evaluator/"><s
pan>Batch Persistable Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/templates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li class
="level-3"><a class="final" href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Classification</span></a><ul><li cl
ass="level-3"><a class="final" href="/templates/classification/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>
Demo Tutorials</span></a><ul><li class="level-2"><a class="final" href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final" href="/community/contribute-documentation/"><span>Contribute Documentation</span></a></li><li class="level-2"><a class="final" href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li class="level-2"><a class="final" href="/community/contribute-webhook/"><span>Contribute a Webhook</span></a></li><li class="level-2"><a class="final active" href="/comm
unity/projects/"><span>Community Projects</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a class="final" href="/support/"><span>Support</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a class="final" href="/resources/release/"><span>Release Cadence</span></a></li><li class="level-2"><a class="final" href="/resources/intellij/"><span>Developing Engines with IntelliJ IDEA</span></a></li><li class="level-2"><a class="final" href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span
>Apache Software Foundation</span></a><ul><li class="level-2"><a class="final" href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/licenses/"><span>License</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div class="col-md-9 col-sm-12"><div class="content-header hidden-md hidden-lg"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a href="/community/">Getting Involved</a><span class="spacer">></span></li><li><span class="last">Community Projects</span></li></ul></div><div id="page-title"><h1>Community Powered Projects</h1></div></div><div id="table-
of-content-wrapper"><h5>On this page</h5><aside id="table-of-contents"><ul> <li> <a href="#sdks">SDKs</a> </li> <li> <a href="#magento-2-personalised-products-module">Magento 2 Personalised Products Module</a> </li> <li> <a href="#vagrant-installation-for-predictionio">Vagrant Installation for PredictionIO</a> </li> <li> <a href="#docker-installation-for-predictionio">Docker Installation for PredictionIO</a> </li> <li> <a href="#another-docker-installation-for-predictionio">Another Docker Installation for PredictionIO</a> </li> <li> <a href="#third-docker-installation-for-predictionio">Third Docker Installation for PredictionIO</a> </li> <li> <a href="#graphx-parallel-simrank-algorithm">GraphX Parallel SimRank Algorithm</a> </li> <li> <a href="#magento-similar-products-extension">Magento Similar Products Extension</a> </li> </ul> </aside><hr/><a id="edit-page-link" href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/community/projects.html.md"><img
src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div class="content-header hidden-sm hidden-xs"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a href="/community/">Getting Involved</a><span class="spacer">></span></li><li><span class="last">Community Projects</span></li></ul></div><div id="page-title"><h1>Community Powered Projects</h1></div></div><div class="content"> <p>Here you will find great projects contributed by the Apache PredictionIO (incubating) community. Stay tuned.</p><div class="alert-message info"><p>If you have built a Apache PredictionIO-related project, we would love to showcase it to the community! Simply edit <a href="https://github.com/apache/incubator-predictionio/blob/livedoc/docs/manual/source/community/projects.html.md">this page</a> and submit a pull request.</p></div><h2 id='sdks' class='header-anchors'>SDKs</h2><p>Community-powered SDKs are <a href="/sdk/">separately listed</a>.</p><h2 id='magento-2-personalised-prod
ucts-module' class='header-anchors'>Magento 2 Personalised Products Module</h2><p>URL: <a href="https://github.com/richdynamix/personalised-products">https://github.com/richdynamix/personalised-products</a></p><p>Personalised Products is a Magento 2 module that will serve realtime predicted suggestions for product upsells on the product page and complimentary suggestions for cross sells on the basket page. All powered by PredictionIO using the <a title="Similar Product" href="/gallery/template-gallery/#recommender-systems">Similar Product</a> engine and the <a title="Complementary Purchase" href="/gallery/template-gallery/#unsupervised-learning">Complementary Purchase</a> engine.</p> <ul> <li><p>Core Author: Steven Richardson</p></li> <li><p>Status: It works with PredictionIO v0.9.5 - Under active development</p></li> </ul> <h2 id='vagrant-installation-for-predictionio' class='header-anchors'>Vagrant Installation for PredictionIO</h2><p>URL: <a href="https://github.com/PredictionIO/
PredictionIO-Vagrant">https://github.com/PredictionIO/PredictionIO-Vagrant</a></p><p>Bring Up PredictionIO 0.9.x VM with Vagrant.</p> <ul> <li><p>Core Author: Raphael Mäder</p></li> <li><p>Status: It works with PredictionIO v0.8 - Under active development</p></li> </ul> <h2 id='docker-installation-for-predictionio' class='header-anchors'>Docker Installation for PredictionIO</h2><p>URL: <a href="https://github.com/mingfang/docker-predictionio">https://github.com/mingfang/docker-predictionio</a></p><p>Run PredictionIO inside Docker.</p> <ul> <li><p>Core Author: Ming Fang</p></li> <li><p>Status: It works with PredictionIO v0.8 - Under active development</p></li> </ul> <h2 id='another-docker-installation-for-predictionio' class='header-anchors'>Another Docker Installation for PredictionIO</h2><p>URL: <a href="https://github.com/sphereio/docker-predictionio">https://github.com/sphereio/docker-predictionio</a></p><p>Docker container for PredictionIO-based machine learning services.</p> <
ul> <li><p>Core Author: Fabian M. Borschel</p></li> <li><p>Status: It works with PredictionIO v0.9.3 - Under active development</p></li> </ul> <h2 id='third-docker-installation-for-predictionio' class='header-anchors'>Third Docker Installation for PredictionIO</h2><p>URL: <a href="https://github.com/steveny2k/docker-predictionio">https://github.com/steveny2k/docker-predictionio</a></p><p>Docker container for PredictionIO-based machine learning services.</p> <ul> <li><p>Maintainer: Steven Yan</p></li> <li><p>Status: Runs latest stable version of PredictionIO v0.12.0 (as well as v0.10.0) - Under active development</p></li> </ul> <h2 id='graphx-parallel-simrank-algorithm' class='header-anchors'>GraphX Parallel SimRank Algorithm</h2><p>URL: <a href="https://github.com/ZhouYii/PIO-Parallel-Simrank-Engine">https://github.com/ZhouYii/PIO-Parallel-Simrank-Engine</a></p><p>Implementation of Delta-Simrank algorithm using Spark's GraphX framework.</p> <ul> <li><p>Core Author: Joey Zhou</p>
</li> <li><p>Status: It works with PredictionIO v0.8 - Under active development</p></li> </ul> <h2 id='magento-similar-products-extension' class='header-anchors'>Magento Similar Products Extension</h2><p>URL: <a href="https://github.com/magento-hackathon/Predictionio">https://github.com/magento-hackathon/Predictionio</a></p><p>Similar Products is a Magento extension that utilizes PredictionIO to create a more personalized suggestion of up-sell products on the Magento product page.</p> <ul> <li><p>Core Author: Steven Richardson, Raphael Mäder & Damian Luszczymak</p></li> <li><p>Status: It works with PredictionIO v0.8 - Under active development</p></li> </ul> </div></div></div></div><footer><div class="container"><div class="seperator"></div><div class="row"><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Community</h4><ul><li><a href="//predictionio.apache.org/install/" target="blank">Download</a></li><li><a href="//predictionio.apache.org/" targ
et="blank">Docs</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">GitHub</a></li><li><a href="mailto:user-subscribe@predictionio.apache.org" target="blank">Subscribe to User Mailing List</a></li><li><a href="//stackoverflow.com/questions/tagged/predictionio" target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Contribute</h4><ul><li><a href="//predictionio.apache.org/community/contribute-code/" target="blank">Contribute</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">Source Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO" target="blank">Bug Tracker</a></li><li><a href="mailto:dev-subscribe@predictionio.apache.org" target="blank">Subscribe to Development Mailing List</a></li></ul></div></div></div><div class="row"><div class="col-md-12 footer-link-column"><p>Apache PredictionIO, PredictionIO, Apache, the Apache feather logo, and
the Apache PredictionIO project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p><p>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p></div></div></div><div id="footer-bottom"><div class="container"><div class="row"><div class="col-md-12"><div id="footer-logo-wrapper"><img alt="PredictionIO" src="/images/logos/logo-white-d1e9c6e6.png"/><span>®</span></div><div id="social-icons-wrapper"><a class="github-button" href="https://github.com/apache/incubator-predictionio" data-style="mega" data-count-href="/apache/incubator-predictionio/stargazers" data-count-api="/repos/apache/incubator-predictionio#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star apache/incubator-predictionio on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-predictionio/fork" data-icon="octicon-git-branch" data-style="m
ega" data-count-href="/apache/incubator-predictionio/network" data-count-api="/repos/apache/incubator-predictionio#forks_count" data-count-aria-label="# forks on GitHub" aria-label="Fork apache/incubator-predictionio on GitHub">Fork</a> <script id="github-bjs" async="" defer="" src="https://buttons.github.io/buttons.js"></script><a href="https://twitter.com/predictionio" target="blank"><img alt="PredictionIO on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a href="https://www.facebook.com/predictionio" target="blank"><img alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a> </div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
+<!DOCTYPE html><html><head><title>Community Powered Projects</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta class="swiftype" name="title" data-type="string" content="Community Powered Projects"/><link rel="canonical" href="https://predictionio.apache.org/community/projects/"/><link href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet"/><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css" rel="stylesheet" type="text/css"/><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//cdn.mathjax.org/math
jax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: true });}catch(e){}</script></head><body><div id="global"><header><div class="container" id="header-wrapper"><div class="row"><div class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache PredictionIO" id="logo" src="/images/logos/logo-ee2b9bb3.png"/></a><span>®</span></div><div id="menu-wrapper"><div id="pill-wrapper"><a class="pill left" href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" href="//github.com/apache/incubator-predictionio/">OPEN SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md hidden-lg" src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11 col-xs
-11"><div class="hidden-md hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Community Projects</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator" src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img src="/images/icons/search-glass-704bd4ff.png"/><input type="text" id="st-search-input" class="st-search-input" placeholder="Search Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div class="row"><div id="left-menu-wrap
per" class="col-md-3"><nav id="nav-main"><ul><li class="level-1"><a class="expandible" href="/"><span>Apache PredictionIO® Documentation</span></a><ul><li class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO®</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Started</span></a><ul><li class="level-2"><a class="final" href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a class="final" href="/install/"><span>Installing Apache PredictionIO</span></a></li><li class="level-2"><a class="final" href="/start/download/"><span>Downloading an Engine Template</span></a></li><li class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your First Engine</span></a></li><li class="level-2"><a class="final" href="/start/customize/"><span>Customizing the Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><
a class="final" href="/appintegration/"><span>App Integration Overview</span></a></li><li class="level-2"><a class="expandible" href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/php/"><span>PHP SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web Service</span></a></li><li class="level-2"><a class="final" href="/batchpredict/"><span>Batch Predictions</span></a></li><li class="level-2"><a class="final" href="/deploy/monito
ring/"><span>Monitoring Engine</span></a></li><li class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting Engine Parameters</span></a></li><li class="level-2"><a class="final" href="/deploy/enginevariants/"><span>Deploying Multiple Engine Variants</span></a></li><li class="level-2"><a class="final" href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a class="final" href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li class="level-2"><a class="final" href="/customize/troubleshooting/"><span>Troubleshooting Engine Development</span></a></li><li class="level-2"><a class="final" href="/api/current/#package"><span>Engine Scala APIs</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Collecting and Analyz
ing Data</span></a><ul><li class="level-2"><a class="final" href="/datacollection/"><span>Event Server Overview</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventapi/"><span>Collecting Data with REST/SDKs</span></a></li><li class="level-2"><a class="final" href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li class="level-2"><a class="final" href="/datacollection/webhooks/"><span>Unifying Multichannel Data with Webhooks</span></a></li><li class="level-2"><a class="final" href="/datacollection/channel/"><span>Channel</span></a></li><li class="level-2"><a class="final" href="/datacollection/batchimport/"><span>Importing Data in Batch</span></a></li><li class="level-2"><a class="final" href="/datacollection/analytics/"><span>Using Analytics Tools</span></a></li><li class="level-2"><a class="final" href="/datacollection/plugin/"><span>Event Server Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>C
hoosing an Algorithm(s)</span></a><ul><li class="level-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to Another Algorithm</span></a></li><li class="level-2"><a class="final" href="/algorithm/multiple/"><span>Combining Multiple Algorithms</span></a></li><li class="level-2"><a class="final" href="/algorithm/custom/"><span>Adding Your Own Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a class="final" href="/evaluation/"><span>Overview</span></a></li><li class="level-2"><a class="final" href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li class="level-2"><a class="final" href="/evaluation/evaluationdashboard/"><span>Evaluation Dashboard</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing Ev
aluation Metrics</span></a></li><li class="level-2"><a class="final" href="/evaluation/metricbuild/"><span>Building Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>System Architecture</span></a><ul><li class="level-2"><a class="final" href="/system/"><span>Architecture Overview</span></a></li><li class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using Another Data Store</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>PredictionIO® Official Templates</span></a><ul><li class="level-2"><a class="final" href="/templates/"><span>Intro</span></a></li><li class="level-2"><a class="expandible" href="#"><span>Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/recommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="fin
al" href="/templates/recommendation/evaluation/"><span>Evaluation Explained</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/reading-custom-events/"><span>Read Custom Events</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-data-prep/"><span>Customize Data Preparator</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/customize-serving/"><span>Customize Serving</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/training-with-implicit-preference/"><span>Train with Implicit Preference</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/blacklist-items/"><span>Filter Recommended Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final" href="/templates/recommendation/batch-evaluator/"><s
pan>Batch Persistable Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust Score</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Similar Product</span></a><ul><li class="level-3"><a class="final" href="/templates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li class
="level-3"><a class="final" href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple Events and Multiple Algorithms</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/return-item-properties/"><span>Returns Item Properties</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate Event</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events for Users</span></a></li><li class="level-3"><a class="final" href="/templates/similarproduct/recommended-user/"><span>Recommend Users</span></a></li></ul></li><li class="level-2"><a class="expandible" href="#"><span>Classification</span></a><ul><li cl
ass="level-3"><a class="final" href="/templates/classification/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a class="final" href="/templates/classification/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final" href="/templates/classification/how-to/"><span>How-To</span></a></li><li class="level-3"><a class="final" href="/templates/classification/add-algorithm/"><span>Use Alternative Algorithm</span></a></li><li class="level-3"><a class="final" href="/templates/classification/reading-custom-properties/"><span>Read Custom Properties</span></a></li></ul></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li class="level-2"><a class="final" href="/gallery/template-gallery/"><span>Browse</span></a></li><li class="level-2"><a class="final" href="/community/submit-template/"><span>Submit your Engine as a Template</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>
Demo Tutorials</span></a><ul><li class="level-2"><a class="final" href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li class="level-2"><a class="final" href="/demo/community/"><span>Community Contributed Demo</span></a></li><li class="level-2"><a class="final" href="/demo/textclassification/"><span>Text Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a class="final" href="/community/contribute-code/"><span>Contribute Code</span></a></li><li class="level-2"><a class="final" href="/community/contribute-documentation/"><span>Contribute Documentation</span></a></li><li class="level-2"><a class="final" href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li class="level-2"><a class="final" href="/community/contribute-webhook/"><span>Contribute a Webhook</span></a></li><li class="level-2"><a class="final active" href="/comm
unity/projects/"><span>Community Projects</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a class="final" href="/support/"><span>Support</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a class="final" href="/resources/release/"><span>Release Cadence</span></a></li><li class="level-2"><a class="final" href="/resources/intellij/"><span>Developing Engines with IntelliJ IDEA</span></a></li><li class="level-2"><a class="final" href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</span></a></li></ul></li><li class="level-1"><a class="expandible" href="#"><span
>Apache Software Foundation</span></a><ul><li class="level-2"><a class="final" href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/licenses/"><span>License</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li class="level-2"><a class="final" href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div class="col-md-9 col-sm-12"><div class="content-header hidden-md hidden-lg"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a href="/community/">Getting Involved</a><span class="spacer">></span></li><li><span class="last">Community Projects</span></li></ul></div><div id="page-title"><h1>Community Powered Projects</h1></div></div><div id="table-
of-content-wrapper"><h5>On this page</h5><aside id="table-of-contents"><ul> <li> <a href="#sdks">SDKs</a> </li> <li> <a href="#magento-2-personalised-products-module">Magento 2 Personalised Products Module</a> </li> <li> <a href="#vagrant-installation-for-apache-predictionio">Vagrant Installation for Apache PredictionIO®</a> </li> <li> <a href="#docker-installation-for-apache-predictionio">Docker Installation for Apache PredictionIO®</a> </li> <li> <a href="#another-docker-installation-for-apache-predictionio">Another Docker Installation for Apache PredictionIO®</a> </li> <li> <a href="#third-docker-installation-for-apache-predictionio">Third Docker Installation for Apache PredictionIO®</a> </li> <li> <a href="#graphx-parallel-simrank-algorithm">GraphX Parallel SimRank Algorithm</a> </li> <li> <a href="#magento-similar-products-extension">Magento Similar Products Extension</a> </li> </ul> </aside><hr/><a id="edit-page-link" href="https://github.com/apache/incubator-predictionio/
tree/livedoc/docs/manual/source/community/projects.html.md"><img src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div class="content-header hidden-sm hidden-xs"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a href="/community/">Getting Involved</a><span class="spacer">></span></li><li><span class="last">Community Projects</span></li></ul></div><div id="page-title"><h1>Community Powered Projects</h1></div></div><div class="content"> <p>Here you will find great projects contributed by the Apache PredictionIO (incubating) community. Stay tuned.</p><div class="alert-message info"><p>If you have built a Apache PredictionIO-related project, we would love to showcase it to the community! Simply edit <a href="https://github.com/apache/incubator-predictionio/blob/livedoc/docs/manual/source/community/projects.html.md">this page</a> and submit a pull request.</p></div><h2 id='sdks' class='header-anchors'>SDKs</h2><p>Community-powered SDKs are <a href="/sdk
/">separately listed</a>.</p><h2 id='magento-2-personalised-products-module' class='header-anchors'>Magento 2 Personalised Products Module</h2><p>URL: <a href="https://github.com/richdynamix/personalised-products">https://github.com/richdynamix/personalised-products</a></p><p>Personalised Products is a Magento 2 module that will serve realtime predicted suggestions for product upsells on the product page and complimentary suggestions for cross sells on the basket page. All powered by PredictionIO using the <a title="Similar Product" href="/gallery/template-gallery/#recommender-systems">Similar Product</a> engine and the <a title="Complementary Purchase" href="/gallery/template-gallery/#unsupervised-learning">Complementary Purchase</a> engine.</p> <ul> <li><p>Core Author: Steven Richardson</p></li> <li><p>Status: It works with PredictionIO v0.9.5 - Under active development</p></li> </ul> <h2 id='vagrant-installation-for-apache-predictionio®' class='header-anchors'>Vagrant Installati
on for Apache PredictionIO®</h2><p>URL: <a href="https://github.com/PredictionIO/PredictionIO-Vagrant">https://github.com/PredictionIO/PredictionIO-Vagrant</a></p><p>Bring Up PredictionIO 0.9.x VM with Vagrant.</p> <ul> <li><p>Core Author: Raphael Mäder</p></li> <li><p>Status: It works with PredictionIO v0.8 - Under active development</p></li> </ul> <h2 id='docker-installation-for-apache-predictionio®' class='header-anchors'>Docker Installation for Apache PredictionIO®</h2><p>URL: <a href="https://github.com/mingfang/docker-predictionio">https://github.com/mingfang/docker-predictionio</a></p><p>Run PredictionIO inside Docker.</p> <ul> <li><p>Core Author: Ming Fang</p></li> <li><p>Status: It works with PredictionIO v0.8 - Under active development</p></li> </ul> <h2 id='another-docker-installation-for-apache-predictionio®' class='header-anchors'>Another Docker Installation for Apache PredictionIO®</h2><p>URL: <a href="https://github.com/sphereio/docker-predictionio">https://gith
ub.com/sphereio/docker-predictionio</a></p><p>Docker container for PredictionIO-based machine learning services.</p> <ul> <li><p>Core Author: Fabian M. Borschel</p></li> <li><p>Status: It works with PredictionIO v0.9.3 - Under active development</p></li> </ul> <h2 id='third-docker-installation-for-apache-predictionio®' class='header-anchors'>Third Docker Installation for Apache PredictionIO®</h2><p>URL: <a href="https://github.com/steveny2k/docker-predictionio">https://github.com/steveny2k/docker-predictionio</a></p><p>Docker container for PredictionIO-based machine learning services.</p> <ul> <li><p>Maintainer: Steven Yan</p></li> <li><p>Status: Runs latest stable version of PredictionIO v0.12.0 (as well as v0.10.0) - Under active development</p></li> </ul> <h2 id='graphx-parallel-simrank-algorithm' class='header-anchors'>GraphX Parallel SimRank Algorithm</h2><p>URL: <a href="https://github.com/ZhouYii/PIO-Parallel-Simrank-Engine">https://github.com/ZhouYii/PIO-Parallel-Simrank-E
ngine</a></p><p>Implementation of Delta-Simrank algorithm using Spark's GraphX framework.</p> <ul> <li><p>Core Author: Joey Zhou</p></li> <li><p>Status: It works with PredictionIO v0.8 - Under active development</p></li> </ul> <h2 id='magento-similar-products-extension' class='header-anchors'>Magento Similar Products Extension</h2><p>URL: <a href="https://github.com/magento-hackathon/Predictionio">https://github.com/magento-hackathon/Predictionio</a></p><p>Similar Products is a Magento extension that utilizes PredictionIO to create a more personalized suggestion of up-sell products on the Magento product page.</p> <ul> <li><p>Core Author: Steven Richardson, Raphael Mäder & Damian Luszczymak</p></li> <li><p>Status: It works with PredictionIO v0.8 - Under active development</p></li> </ul> </div></div></div></div><footer><div class="container"><div class="seperator"></div><div class="row"><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Communit
y</h4><ul><li><a href="//predictionio.apache.org/install/" target="blank">Download</a></li><li><a href="//predictionio.apache.org/" target="blank">Docs</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">GitHub</a></li><li><a href="mailto:user-subscribe@predictionio.apache.org" target="blank">Subscribe to User Mailing List</a></li><li><a href="//stackoverflow.com/questions/tagged/predictionio" target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Contribute</h4><ul><li><a href="//predictionio.apache.org/community/contribute-code/" target="blank">Contribute</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">Source Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO" target="blank">Bug Tracker</a></li><li><a href="mailto:dev-subscribe@predictionio.apache.org" target="blank">Subscribe to Development Mailing List</a></li></ul></div></div></d
iv><div class="row"><div class="col-md-12 footer-link-column"><p>Apache PredictionIO, PredictionIO, Apache, the Apache feather logo, and the Apache PredictionIO project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p><p>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p></div></div></div><div id="footer-bottom"><div class="container"><div class="row"><div class="col-md-12"><div id="footer-logo-wrapper"><img alt="PredictionIO" src="/images/logos/logo-white-d1e9c6e6.png"/><span>®</span></div><div id="social-icons-wrapper"><a class="github-button" href="https://github.com/apache/incubator-predictionio" data-style="mega" data-count-href="/apache/incubator-predictionio/stargazers" data-count-api="/repos/apache/incubator-predictionio#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star apache/incubator-predictionio on GitHub">Sta
r</a> <a class="github-button" href="https://github.com/apache/incubator-predictionio/fork" data-icon="octicon-git-branch" data-style="mega" data-count-href="/apache/incubator-predictionio/network" data-count-api="/repos/apache/incubator-predictionio#forks_count" data-count-aria-label="# forks on GitHub" aria-label="Fork apache/incubator-predictionio on GitHub">Fork</a> <script id="github-bjs" async="" defer="" src="https://buttons.github.io/buttons.js"></script><a href="https://twitter.com/predictionio" target="blank"><img alt="PredictionIO on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a href="https://www.facebook.com/predictionio" target="blank"><img alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a> </div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
(w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
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');
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/datacollection/batchimport/index.html
----------------------------------------------------------------------
diff --git a/datacollection/batchimport/index.html b/datacollection/batchimport/index.html
index 652728b..d3c1ce6 100644
--- a/datacollection/batchimport/index.html
+++ b/datacollection/batchimport/index.html
@@ -7,7 +7,7 @@
</span><span class="p">{</span><span class="s2">"event"</span><span class="p">:</span><span class="s2">"rate"</span><span class="p">,</span><span class="s2">"entityType"</span><span class="p">:</span><span class="s2">"user"</span><span class="p">,</span><span class="s2">"entityId"</span><span class="p">:</span><span class="s2">"3"</span><span class="p">,</span><span class="s2">"targetEntityType"</span><span class="p">:</span><span class="s2">"item"</span><span class="p">,</span><span class="s2">"targetEntityId"</span><span class="p">:</span><span class="s2">"2"</span><span class="p">,</span><span class="s2">"properties"</span><span class="p">:{</span><span class="s2">"rating"</span><span class="p">:</span><span class="mf">1.0</span><span class="p">},</span><span class="s2">"eventTime"</span><span class="p">:</span><span class="s2">"2014-11-21T01:04:14.729Z"</span><span class="p">}</span><span class="w">
</span><span class="p">{</span><span class="s2">"event"</span><span class="p">:</span><span class="s2">"buy"</span><span class="p">,</span><span class="s2">"entityType"</span><span class="p">:</span><span class="s2">"user"</span><span class="p">,</span><span class="s2">"entityId"</span><span class="p">:</span><span class="s2">"3"</span><span class="p">,</span><span class="s2">"targetEntityType"</span><span class="p">:</span><span class="s2">"item"</span><span class="p">,</span><span class="s2">"targetEntityId"</span><span class="p">:</span><span class="s2">"7"</span><span class="p">,</span><span class="s2">"eventTime"</span><span class="p">:</span><span class="s2">"2014-11-21T01:04:14.735Z"</span><span class="p">}</span><span class="w">
</span><span class="p">{</span><span class="s2">"event"</span><span class="p">:</span><span class="s2">"buy"</span><span class="p">,</span><span class="s2">"entityType"</span><span class="p">:</span><span class="s2">"user"</span><span class="p">,</span><span class="s2">"entityId"</span><span class="p">:</span><span class="s2">"3"</span><span class="p">,</span><span class="s2">"targetEntityType"</span><span class="p">:</span><span class="s2">"item"</span><span class="p">,</span><span class="s2">"targetEntityId"</span><span class="p">:</span><span class="s2">"8"</span><span class="p">,</span><span class="s2">"eventTime"</span><span class="p">:</span><span class="s2">"2014-11-21T01:04:14.741Z"</span><span class="p">}</span><span class="w">
-</span></pre></td></tr></tbody></table> </div> <div class="alert-message warning"><p>Please make sure your import file does not contain any empty lines. Empty lines will be treated as a null object and will return an error during import.</p></div><h2 id='use-sdk-to-prepare-batch-input-file' class='header-anchors'>Use SDK to Prepare Batch Input File</h2><p>Some of the Apache PredictionIO SDKs also provides FileExporter client. You may use them to prepare the JSON file as described above. The FileExporter creates event in the same way as EventClient except that the events are written to a JSON file instead of being sent to EventSever. The written JSON file can then be used by batch import.</p><div class="tabs"> <ul class="control"> <li data-lang="php"><a href="#tab-79723339-e101-49e0-879a-e6fc549047ce">PHP SDK</a></li> <li data-lang="python"><a href="#tab-336cda65-007b-45c4-9322-280ba4e51c7d">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-d9f9b4b1-8876-4bd6-91cd-34c36cce9e46">
Ruby SDK</a></li> <li data-lang="java"><a href="#tab-563ab71a-25f9-4688-98d9-2b3db0603598">Java SDK</a></li> </ul> <div data-tab="PHP SDK" data-lang="php" id="tab-79723339-e101-49e0-879a-e6fc549047ce"> (coming soon) </div> <div data-tab="Python SDK" data-lang="python" id="tab-336cda65-007b-45c4-9322-280ba4e51c7d"> <div class="highlight python"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</span></pre></td></tr></tbody></table> </div> <div class="alert-message warning"><p>Please make sure your import file does not contain any empty lines. Empty lines will be treated as a null object and will return an error during import.</p></div><h2 id='use-sdk-to-prepare-batch-input-file' class='header-anchors'>Use SDK to Prepare Batch Input File</h2><p>Some of the Apache PredictionIO SDKs also provides FileExporter client. You may use them to prepare the JSON file as described above. The FileExporter creates event in the same way as EventClient except that the events are written to a JSON file instead of being sent to EventSever. The written JSON file can then be used by batch import.</p><div class="tabs"> <ul class="control"> <li data-lang="php"><a href="#tab-45f6736c-1142-48bb-8595-ebb8d6cd8f96">PHP SDK</a></li> <li data-lang="python"><a href="#tab-b3a504c2-fdfb-4d57-ae76-0ad07313a04c">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-a23f50f3-dc6a-41d3-a467-9cae9d4f7be7">
Ruby SDK</a></li> <li data-lang="java"><a href="#tab-1f96b75e-4760-41d5-b820-8f8e826e44f1">Java SDK</a></li> </ul> <div data-tab="PHP SDK" data-lang="php" id="tab-45f6736c-1142-48bb-8595-ebb8d6cd8f96"> (coming soon) </div> <div data-tab="Python SDK" data-lang="python" id="tab-b3a504c2-fdfb-4d57-ae76-0ad07313a04c"> <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
@@ -58,7 +58,7 @@
<span class="c"># close the FileExporter when finish writing all events</span>
<span class="n">exporter</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-d9f9b4b1-8876-4bd6-91cd-34c36cce9e46"> (coming soon) </div> <div data-tab="Java SDK" data-lang="java" id="tab-563ab71a-25f9-4688-98d9-2b3db0603598"> <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> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-a23f50f3-dc6a-41d3-a467-9cae9d4f7be7"> (coming soon) </div> <div data-tab="Java SDK" data-lang="java" id="tab-1f96b75e-4760-41d5-b820-8f8e826e44f1"> <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> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
</pre></td> </tr></tbody></table> </div> </div> </div> <h2 id='import-events-from-input-file' class='header-anchors'>Import Events from Input File</h2><p>Importing events from a file can be done easily using the command line interface. Assuming that <code>pio</code> be in your search path, your App ID be <code>123</code>, and the input file <code>my_events.json</code> be in your current working directory:</p><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><td class="code"><pre><span class="gp">$ </span>pio import --appid 123 --input my_events.json
</pre></td></tr></tbody></table> </div> <p>After a brief while, the tool should return to the console without any error. Congratulations! You have successfully imported your events.</p></div></div></div></div><footer><div class="container"><div class="seperator"></div><div class="row"><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Community</h4><ul><li><a href="//predictionio.apache.org/install/" target="blank">Download</a></li><li><a href="//predictionio.apache.org/" target="blank">Docs</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">GitHub</a></li><li><a href="mailto:user-subscribe@predictionio.apache.org" target="blank">Subscribe to User Mailing List</a></li><li><a href="//stackoverflow.com/questions/tagged/predictionio" target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6 footer-link-column"><div class="footer-link-column-row"><h4>Contribute</h4><ul><li><a href="//predictionio.apache.org/comm
unity/contribute-code/" target="blank">Contribute</a></li><li><a href="//github.com/apache/incubator-predictionio" target="blank">Source Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO" target="blank">Bug Tracker</a></li><li><a href="mailto:dev-subscribe@predictionio.apache.org" target="blank">Subscribe to Development Mailing List</a></li></ul></div></div></div><div class="row"><div class="col-md-12 footer-link-column"><p>Apache PredictionIO, PredictionIO, Apache, the Apache feather logo, and the Apache PredictionIO project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p><p>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p></div></div></div><div id="footer-bottom"><div class="container"><div class="row"><div class="col-md-12"><div id="footer-logo-wrapper"><img alt="PredictionIO" src="/images/logos/logo-white-d1e9c6e6.png"/><span>®</span>
</div><div id="social-icons-wrapper"><a class="github-button" href="https://github.com/apache/incubator-predictionio" data-style="mega" data-count-href="/apache/incubator-predictionio/stargazers" data-count-api="/repos/apache/incubator-predictionio#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star apache/incubator-predictionio on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-predictionio/fork" data-icon="octicon-git-branch" data-style="mega" data-count-href="/apache/incubator-predictionio/network" data-count-api="/repos/apache/incubator-predictionio#forks_count" data-count-aria-label="# forks on GitHub" aria-label="Fork apache/incubator-predictionio on GitHub">Fork</a> <script id="github-bjs" async="" defer="" src="https://buttons.github.io/buttons.js"></script><a href="https://twitter.com/predictionio" target="blank"><img alt="PredictionIO on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a href="https:
//www.facebook.com/predictionio" target="blank"><img alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a> </div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
(w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/datacollection/channel/index.html
----------------------------------------------------------------------
diff --git a/datacollection/channel/index.html b/datacollection/channel/index.html
index 145b7ae..426b55c 100644
--- a/datacollection/channel/index.html
+++ b/datacollection/channel/index.html
@@ -12,7 +12,7 @@
[INFO] [App$] Channel Name: myChannel
[INFO] [App$] Channel ID: 2
[INFO] [App$] App ID: 5
-</span></pre></td></tr></tbody></table> </div> <p>Now "myChannel" is created and ready for collecting data.</p><h2 id='collect-data-through-channel' class='header-anchors'>Collect data through Channel</h2><p>The Event API support optional <code>channel</code> query parameter. This allows you to import and query events of the specified channel. When the <code>channel</code> parameter is not specified, the data is collected through the default channel.</p><p>URL: <code>http://localhost:7070/events.json?accessKey=yourAccessKeyString&channel=yourChannelName</code></p><p>Query parameters:</p> <table><thead> <tr> <th style="text-align: left">Field</th> <th style="text-align: left">Type</th> <th style="text-align: left">Description</th> </tr> </thead><tbody> <tr> <td style="text-align: left"><code>accessKey</code></td> <td style="text-align: left">String</td> <td style="text-align: left">The Access Key for your App</td> </tr> <tr> <td style="text-align: left"><code>channel</c
ode></td> <td style="text-align: left">String</td> <td style="text-align: left">The channel name (optional). Specify this to import data to this channel. <strong>NOTE: supported in PIO version >= 0.9.2</strong> only. Channel must be created first.</td> </tr> </tbody></table> <p>For SDK usage, one EventClient should be responsible for collecting data of one specific channel. The channel name is specified when the EventClient object is instantiated.</p><p>For example, the following code import event to "YOUR_CHANNEL" of the corresponding App.</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-16a7d71a-5375-4a97-8454-ecc29ff8aae7">Raw HTTP</a></li> <li data-lang="php"><a href="#tab-f1abef77-52ea-499c-8e09-90a7afef474b">PHP SDK</a></li> <li data-lang="python"><a href="#tab-8854222a-2eb9-4404-ba23-0dfb902b6c1d">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-fdcba104-5731-4aa8-b0d4-53b9cb8d1433">Ruby SDK</a></li> <li data-lang="java"><a href
="#tab-cbbb9ebd-8087-42ba-ab41-6bd758d266ee">Java SDK</a></li> </ul> <div data-tab="Raw HTTP" data-lang="bash" id="tab-16a7d71a-5375-4a97-8454-ecc29ff8aae7"> <div class="highlight shell"> <table style="border-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</span></pre></td></tr></tbody></table> </div> <p>Now "myChannel" is created and ready for collecting data.</p><h2 id='collect-data-through-channel' class='header-anchors'>Collect data through Channel</h2><p>The Event API support optional <code>channel</code> query parameter. This allows you to import and query events of the specified channel. When the <code>channel</code> parameter is not specified, the data is collected through the default channel.</p><p>URL: <code>http://localhost:7070/events.json?accessKey=yourAccessKeyString&channel=yourChannelName</code></p><p>Query parameters:</p> <table><thead> <tr> <th style="text-align: left">Field</th> <th style="text-align: left">Type</th> <th style="text-align: left">Description</th> </tr> </thead><tbody> <tr> <td style="text-align: left"><code>accessKey</code></td> <td style="text-align: left">String</td> <td style="text-align: left">The Access Key for your App</td> </tr> <tr> <td style="text-align: left"><code>channel</c
ode></td> <td style="text-align: left">String</td> <td style="text-align: left">The channel name (optional). Specify this to import data to this channel. <strong>NOTE: supported in PIO version >= 0.9.2</strong> only. Channel must be created first.</td> </tr> </tbody></table> <p>For SDK usage, one EventClient should be responsible for collecting data of one specific channel. The channel name is specified when the EventClient object is instantiated.</p><p>For example, the following code import event to "YOUR_CHANNEL" of the corresponding App.</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-145d64f0-fa32-4a83-8e73-185b189ccec0">Raw HTTP</a></li> <li data-lang="php"><a href="#tab-3b2612ad-f343-4576-8136-1da0f6d99f25">PHP SDK</a></li> <li data-lang="python"><a href="#tab-3f1624a3-01ba-47c5-9450-f28cd5139494">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-315d12dd-4d74-46db-947b-2d37bb0a7906">Ruby SDK</a></li> <li data-lang="java"><a href
="#tab-1f205fff-9b69-492e-b8a4-7d1fa3d2d7e7">Java SDK</a></li> </ul> <div data-tab="Raw HTTP" data-lang="bash" id="tab-145d64f0-fa32-4a83-8e73-185b189ccec0"> <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
@@ -39,7 +39,7 @@
},
"eventTime" : "2004-12-13T21:39:45.618Z"
}'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-f1abef77-52ea-499c-8e09-90a7afef474b"> (TODO: update me) </div> <div data-tab="Python SDK" data-lang="python" id="tab-8854222a-2eb9-4404-ba23-0dfb902b6c1d"> <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="PHP SDK" data-lang="php" id="tab-3b2612ad-f343-4576-8136-1da0f6d99f25"> (TODO: update me) </div> <div data-tab="Python SDK" data-lang="python" id="tab-3f1624a3-01ba-47c5-9450-f28cd5139494"> <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
@@ -80,7 +80,7 @@
<span class="n">properties</span><span class="o">=</span><span class="n">event_properties</span><span class="p">,</span>
<span class="n">event_time</span><span class="o">=</span><span class="n">datetime</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span> <span class="mi">12</span><span class="p">,</span> <span class="mi">13</span><span class="p">,</span> <span class="mi">21</span><span class="p">,</span> <span class="mi">38</span><span class="p">,</span> <span class="mi">45</span><span class="p">,</span> <span class="mi">618000</span><span class="p">,</span> <span class="n">pytz</span><span class="o">.</span><span class="n">utc</span><span class="p">))</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-fdcba104-5731-4aa8-b0d4-53b9cb8d1433"> (TODO: update me) </div> <div data-tab="Java SDK" data-lang="java" id="tab-cbbb9ebd-8087-42ba-ab41-6bd758d266ee"> <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> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-315d12dd-4d74-46db-947b-2d37bb0a7906"> (TODO: update me) </div> <div data-tab="Java SDK" data-lang="java" id="tab-1f205fff-9b69-492e-b8a4-7d1fa3d2d7e7"> <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> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
</pre></td> </tr></tbody></table> </div> </div> </div> <p>You can also follow the EventAPI <a href="/datacollection/eventapi/#debugging-recipes">debug receipts</a> to query the events of specific channel by adding the <code>channel</code> query parameter in the URL.</p><h2 id='delete-a-channel-(including-all-imported-data)' class='header-anchors'>Delete a Channel (including all imported data)</h2><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><td class="code"><pre>pio app channel-delete <app name> <channel name>
</pre></td></tr></tbody></table> </div> <h2 id='delete-the-data-only-of-a-channel' class='header-anchors'>Delete the data-only of a Channel</h2><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><td class="code"><pre>pio app data-delete <app name> --channel <channel name>
</pre></td></tr></tbody></table> </div> <h2 id='accessing-channel-data-in-engine' class='header-anchors'>Accessing Channel Data in Engine</h2><p>To acccess channel data, simply specify the channel name when use the PEventStore or LEventStore API. Data is read from from the default channel if channelName is not specified.</p><p>For example, read data from default channel:</p><div class="highlight scala"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre class="lineno">1
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/datacollection/eventapi/index.html
----------------------------------------------------------------------
diff --git a/datacollection/eventapi/index.html b/datacollection/eventapi/index.html
index f4cca13..bccd7e0 100644
--- a/datacollection/eventapi/index.html
+++ b/datacollection/eventapi/index.html
@@ -22,7 +22,7 @@ Content-Length: 18
<span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> Name: MyTestApp
<span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> ID: 6
<span class="o">[</span>INFO] <span class="o">[</span>App<span class="nv">$]</span> Access Key: WPgcXKd42FPQpZHVbVeMyqF4CQJUnXQmIMTHhX3ZUrSzvy1KXJjdFUrslifa9rnB
-</pre></td></tr></tbody></table> </div> <h3 id='creating-your-first-event' class='header-anchors'>Creating Your First Event</h3><p>You may connect to the Event Server with HTTP request or by using one of many <strong>Apache PredictionIO SDKs</strong>.</p><p>For example, the following shows how one can create an event involving a single entity. Replace the value of <code>accessKey</code> by the <em>Access Key</em> generated for your App.</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-f09c4308-7392-41f9-8b28-215e6ba686a1">Raw HTTP</a></li> <li data-lang="php"><a href="#tab-e0a1e846-ca0c-4c0a-ae9a-65bfb14762ff">PHP SDK</a></li> <li data-lang="python"><a href="#tab-fc1aa9fa-a826-4ec1-a280-e9f6cf8a3d9c">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-3436b90e-6871-44c4-a15f-23dd7a99c710">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-f608b8be-935c-4619-8da9-397c5d844957">Java SDK</a></li> </ul> <div data-tab="Raw HTTP" data-lang="bash" id="tab-
f09c4308-7392-41f9-8b28-215e6ba686a1"> <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> <h3 id='creating-your-first-event' class='header-anchors'>Creating Your First Event</h3><p>You may connect to the Event Server with HTTP request or by using one of many <strong>Apache PredictionIO SDKs</strong>.</p><p>For example, the following shows how one can create an event involving a single entity. Replace the value of <code>accessKey</code> by the <em>Access Key</em> generated for your App.</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-7641b557-4e45-474a-a1b1-6c16866220d1">Raw HTTP</a></li> <li data-lang="php"><a href="#tab-64ca2847-f0b1-459a-b9ab-f79e0a72ebd8">PHP SDK</a></li> <li data-lang="python"><a href="#tab-fddd56e8-2626-44ed-8a2b-bbb9107a419d">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-592d380a-b394-4a27-a1e0-c1bd99fede6a">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-66d8dff7-141d-4be6-90ac-8caff62d4ebe">Java SDK</a></li> </ul> <div data-tab="Raw HTTP" data-lang="bash" id="tab-
7641b557-4e45-474a-a1b1-6c16866220d1"> <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
@@ -53,7 +53,7 @@ Content-Length: 18
}
"eventTime" : "2004-12-13T21:39:45.618-07:00"
}'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-e0a1e846-ca0c-4c0a-ae9a-65bfb14762ff"> <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-64ca2847-f0b1-459a-b9ab-f79e0a72ebd8"> <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
@@ -94,7 +94,7 @@ Content-Length: 18
<span class="s1">'eventTime'</span> <span class="o">=></span> <span class="s1">'2004-12-13T21:39:45.618-07:00'</span>
<span class="p">));</span>
<span class="cp">?></span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-fc1aa9fa-a826-4ec1-a280-e9f6cf8a3d9c"> <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-fddd56e8-2626-44ed-8a2b-bbb9107a419d"> <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
@@ -137,7 +137,7 @@ Content-Length: 18
<span class="n">properties</span><span class="o">=</span><span class="n">first_event_properties</span><span class="p">,</span>
<span class="n">event_time</span><span class="o">=</span><span class="n">first_event_time</span><span class="p">,</span>
<span class="p">)</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-3436b90e-6871-44c4-a15f-23dd7a99c710"> <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-592d380a-b394-4a27-a1e0-c1bd99fede6a"> <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
@@ -158,8 +158,8 @@ Content-Length: 18
<span class="s1">'prop4'</span> <span class="o">=></span> <span class="kp">true</span><span class="p">,</span>
<span class="s1">'prop5'</span> <span class="o">=></span> <span class="sx">%w(a b c)</span><span class="p">,</span>
<span class="s1">'prop6'</span> <span class="o">=></span> <span class="mi">4</span><span class="o">.</span><span class="mi">56</span> <span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-f608b8be-935c-4619-8da9-397c5d844957"> <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> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>For example, the following shows how one can create an event involving two entities (with <code>targetEntity</code>).</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-ed4fecf8-b817-4f2e-96c9-57ed7248f459">Raw HTTP</a></li> <li data-lang="php"><a href="#tab-a4d46f7b-707f-40d2-8eab-1eac4757dca1">PHP SDK</a></li> <li data-lang="python"><a href="#tab-6f2f2d92-d551-4c9e-9c77-e4932a614ae5">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-e25d0950-efb2-4345-8cc9-9a74183c2c68">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-bc252330-4925-41eb-a997-25d842d3f79c">Java SDK</a></li> </ul> <div data-tab="Raw HTTP" data-lang="bash" id="tab-ed4fecf8-b817-4f2e-96c9-57ed7248f459"> <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 data-tab="Java SDK" data-lang="java" id="tab-66d8dff7-141d-4be6-90ac-8caff62d4ebe"> <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> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
+</pre></td> </tr></tbody></table> </div> </div> </div> <p>For example, the following shows how one can create an event involving two entities (with <code>targetEntity</code>).</p><div class="tabs"> <ul class="control"> <li data-lang="bash"><a href="#tab-62d1cea0-4aea-47c1-9b09-225228604c46">Raw HTTP</a></li> <li data-lang="php"><a href="#tab-ad25c20f-0920-4099-94cf-5c3dc766b8f9">PHP SDK</a></li> <li data-lang="python"><a href="#tab-e058b02b-e5a4-49fc-ba09-1572b12d5634">Python SDK</a></li> <li data-lang="ruby"><a href="#tab-2ef97551-bd3f-480e-a92f-e3e35564575b">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-7b0e73c5-ada4-4db7-8a31-cd4e12d2c83e">Java SDK</a></li> </ul> <div data-tab="Raw HTTP" data-lang="bash" id="tab-62d1cea0-4aea-47c1-9b09-225228604c46"> <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
@@ -186,7 +186,7 @@ Content-Length: 18
},
"eventTime" : "2004-12-13T21:39:45.618Z"
}'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-a4d46f7b-707f-40d2-8eab-1eac4757dca1"> <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-ad25c20f-0920-4099-94cf-5c3dc766b8f9"> <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
@@ -221,7 +221,7 @@ Content-Length: 18
<span class="s1">'eventTime'</span> <span class="o">=></span> <span class="s1">'2004-12-13T21:39:45.618Z'</span>
<span class="p">));</span>
<span class="cp">?></span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-6f2f2d92-d551-4c9e-9c77-e4932a614ae5"> <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-e058b02b-e5a4-49fc-ba09-1572b12d5634"> <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
@@ -246,7 +246,7 @@ Content-Length: 18
<span class="n">target_entity_id</span><span class="o">=</span><span class="s">"iid"</span><span class="p">,</span>
<span class="n">properties</span><span class="o">=</span><span class="n">second_event_properties</span><span class="p">,</span>
<span class="n">event_time</span><span class="o">=</span><span class="n">datetime</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span> <span class="mi">12</span><span class="p">,</span> <span class="mi">13</span><span class="p">,</span> <span class="mi">21</span><span class="p">,</span> <span class="mi">38</span><span class="p">,</span> <span class="mi">45</span><span class="p">,</span> <span class="mi">618000</span><span class="p">,</span> <span class="n">pytz</span><span class="o">.</span><span class="n">utc</span><span class="p">))</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK" data-lang="ruby" id="tab-e25d0950-efb2-4345-8cc9-9a74183c2c68"> <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-2ef97551-bd3f-480e-a92f-e3e35564575b"> <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
@@ -263,7 +263,7 @@ Content-Length: 18
<span class="s1">'eventTime'</span> <span class="o">=></span> <span class="s1">'2004-12-13T21:39:45.618Z'</span><span class="p">,</span>
<span class="s1">'properties'</span> <span class="o">=></span> <span class="p">{</span> <span class="s1">'someProperty'</span> <span class="o">=></span> <span class="s1">'value1'</span><span class="p">,</span>
<span class="s1">'anotherProperty'</span> <span class="o">=></span> <span class="s1">'value2'</span> <span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-bc252330-4925-41eb-a997-25d842d3f79c"> <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> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Java SDK" data-lang="java" id="tab-7b0e73c5-ada4-4db7-8a31-cd4e12d2c83e"> <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> <td class="code"><pre><span class="o">(</span><span class="n">coming</span> <span class="n">soon</span><span class="o">)</span>
</pre></td> </tr></tbody></table> </div> </div> </div> <p>Sample response:</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
3
[3/8] predictionio-site git commit: Documentation based on
apache/predictionio#06de8af546d3c688bc8a832a5d09fba57961b1b5
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/templates/javaecommercerecommendation/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/javaecommercerecommendation/quickstart/index.html b/templates/javaecommercerecommendation/quickstart/index.html
index f2722ff..266d982 100644
--- a/templates/javaecommercerecommendation/quickstart/index.html
+++ b/templates/javaecommercerecommendation/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 training data for this Engine. By default, the E-Commerce Recommendation Engine Template supports 2 types of entities and 2 events: <strong>user</strong> and <strong>item</strong>; events <strong>view</strong> and <strong>buy</strong>. An item has the <strong>categories</strong> property, which is a list of category names (String). A user can view and buy an item. The specical <strong>constraint</strong> entiy with entityId <strong>unavailableItems</strong> defines a list of unavailable items and is taken into account in realtime during serving.</p><p>In summary, this template requires '$set' user event, '$set' item event, user-view-item events, user-buy-item event and '$set' constraint event.</p><div class="alert-message info"><p>This template can easily be customized to consider other user-to-it
em events.</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> <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-9328bf19-1dc8-485c-bbda-faf4dab6399d">REST API</a></li> <li data-lang="python"><a href="#tab-340df6e4-6c8c-4642-a3b6-333ddca0f5e2">Python SDK</a></li> <li data-lang="php"><a href="#tab-66eaa2d8-ba99-42ae-8375-19875a92458c">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-5b351a6b-9cb6-471f-a3e5-3cc73b2930c6">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-7f41ce59-ba41-4bb6-b14a-01e76b0a8eef">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-9328bf19-1dc8-485c-bbda-faf4dab6399d"> <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 training data for this Engine. By default, the E-Commerce Recommendation Engine Template supports 2 types of entities and 2 events: <strong>user</strong> and <strong>item</strong>; events <strong>view</strong> and <strong>buy</strong>. An item has the <strong>categories</strong> property, which is a list of category names (String). A user can view and buy an item. The specical <strong>constraint</strong> entiy with entityId <strong>unavailableItems</strong> defines a list of unavailable items and is taken into account in realtime during serving.</p><p>In summary, this template requires '$set' user event, '$set' item event, user-view-item events, user-buy-item event and '$set' constraint event.</p><div class="alert-message info"><p>This template can easily be customized to consider other user-to-it
em events.</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> <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-b644290d-5fc1-4723-bd2b-6cdc001069df">REST API</a></li> <li data-lang="python"><a href="#tab-f914c583-26d8-4fa4-8456-c49b7a468f05">Python SDK</a></li> <li data-lang="php"><a href="#tab-298ff2e2-e488-490e-8a22-6962f4e53aa7">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-e6882424-6691-4644-afcd-25dcaad72dc8">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-f3068fb1-0c3a-49c1-abe6-c2df0a584237">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-b644290d-5fc1-4723-bd2b-6cdc001069df"> <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-340df6e4-6c8c-4642-a3b6-333ddca0f5e2"> <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-f914c583-26d8-4fa4-8456-c49b7a468f05"> <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-66eaa2d8-ba99-42ae-8375-19875a92458c"> <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-298ff2e2-e488-490e-8a22-6962f4e53aa7"> <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
@@ -119,7 +119,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">'categories'</span> <span class="o">=></span> <span class="k">array</span><span class="p">(</span><span class="s1">'<CATEGORY_1>'</span><span class="p">,</span> <span class="s1">'<CATEGORY_2>'</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-5b351a6b-9cb6-471f-a3e5-3cc73b2930c6"> <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-e6882424-6691-4644-afcd-25dcaad72dc8"> <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
@@ -136,7 +136,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-7f41ce59-ba41-4bb6-b14a-01e76b0a8eef"> <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-f3068fb1-0c3a-49c1-abe6-c2df0a584237"> <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
@@ -161,7 +161,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. Note that the item is set with categories properties: <code>"c1"</code> and <code>"c2"</code>. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-a39da22c-0ecd-409d-975e-5b39877cda8f">REST API</a></li> <li data-lang="python"><a href="#tab-4c08d4a2-2574-480b-a0f9-218b85c6d22e">Python SDK</a></li> <li data-lang="php"><a href="#tab-c08a60ec-33b1-4c2d-b543-4ba23125ad07">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-2f7a9a02-8fc8-4c88-8729-d2dff53d6b14">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-877aecb0-2ff0-455c-8567-17c6a2cc1454">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-a39da2
2c-0ecd-409d-975e-5b39877cda8f"> <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 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. Note that the item is set with categories properties: <code>"c1"</code> and <code>"c2"</code>. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-57f8fdc0-b979-4a7c-8009-1ca37a49a735">REST API</a></li> <li data-lang="python"><a href="#tab-4fc499fe-7378-41b0-923b-7c22a34d1e98">Python SDK</a></li> <li data-lang="php"><a href="#tab-1f8fe47c-2e96-4e9f-9e42-e4964a5a6897">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-6768aee2-f1eb-4982-a0b8-093246772265">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-9559f312-15d1-4294-96b3-329e1bcd6d1f">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-57f8fd
c0-b979-4a7c-8009-1ca37a49a735"> <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
@@ -182,7 +182,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-4c08d4a2-2574-480b-a0f9-218b85c6d22e"> <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-4fc499fe-7378-41b0-923b-7c22a34d1e98"> <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
@@ -201,7 +201,7 @@ Your system is all ready to go.
<span class="s">"categories"</span> <span class="p">:</span> <span class="p">[</span><span class="s">"<CATEGORY_1>"</span><span class="p">,</span> <span class="s">"<CATEGORY_2>"</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-c08a60ec-33b1-4c2d-b543-4ba23125ad07"> <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-1f8fe47c-2e96-4e9f-9e42-e4964a5a6897"> <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
@@ -218,7 +218,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">'categories'</span> <span class="o">=></span> <span class="k">array</span><span class="p">(</span><span class="s1">'<CATEGORY_1>'</span><span class="p">,</span> <span class="s1">'<CATEGORY_2>'</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-2f7a9a02-8fc8-4c88-8729-d2dff53d6b14"> <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-6768aee2-f1eb-4982-a0b8-093246772265"> <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
@@ -235,7 +235,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-877aecb0-2ff0-455c-8567-17c6a2cc1454"> <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-9559f312-15d1-4294-96b3-329e1bcd6d1f"> <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
@@ -248,7 +248,7 @@ Your system is all ready to go.
<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="o">.</span><span class="na">property</span><span class="o">(</span><span class="s">"categories"</span><span class="o">,</span> <span class="n">ImmutableList</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"<CATEGORY_1>"</span><span class="o">,</span> <span class="s">"<CATEGORY_2>"</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>The properties of the <code>user</code> and <code>item</code> can be set, unset, or delete by special events <strong>$set</strong>, <strong>$unset</strong> and <strong>$delete</strong>. Please refer to <a href="/datacollection/eventapi/#note-about-properties">Event API</a> for more details of using these events.</p><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-778191d7-8671-455f-8083-0af76e8c1cdf">REST API</a></li> <li data-lang="python"><a href="#tab-7e50e1e6-97c3-4f71-ac0b-43d60e1bf20a">Python SDK</a></li> <li data-lang="php"><a href="#tab-f410fd3d-641e-474c-a640-5ecd0a0bc1b4">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-f1ea24bb-d268-432d-a676-c2095e
2f08b7">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-b48d3f99-db2a-4d70-b426-176ff244d509">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-778191d7-8671-455f-8083-0af76e8c1cdf"> <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>The properties of the <code>user</code> and <code>item</code> can be set, unset, or delete by special events <strong>$set</strong>, <strong>$unset</strong> and <strong>$delete</strong>. Please refer to <a href="/datacollection/eventapi/#note-about-properties">Event API</a> for more details of using these events.</p><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-5fa5ed36-2679-4927-9422-13b408887877">REST API</a></li> <li data-lang="python"><a href="#tab-ce256491-b5be-4589-9398-b81ad15b6982">Python SDK</a></li> <li data-lang="php"><a href="#tab-70a1fd51-1308-4cca-b3a9-58b49b605be1">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-2930b42b-c724-473f-9f2d-1ca768
10210b">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-6f221495-d24a-4031-9a5b-58d79a5dd9ed">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-5fa5ed36-2679-4927-9422-13b408887877"> <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
@@ -267,7 +267,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-7e50e1e6-97c3-4f71-ac0b-43d60e1bf20a"> <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-ce256491-b5be-4589-9398-b81ad15b6982"> <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
@@ -284,7 +284,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-f410fd3d-641e-474c-a640-5ecd0a0bc1b4"> <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-70a1fd51-1308-4cca-b3a9-58b49b605be1"> <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
@@ -303,7 +303,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-f1ea24bb-d268-432d-a676-c2095e2f08b7"> <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-2930b42b-c724-473f-9f2d-1ca76810210b"> <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
@@ -322,7 +322,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-b48d3f99-db2a-4d70-b426-176ff244d509"> <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-6f221495-d24a-4031-9a5b-58d79a5dd9ed"> <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
@@ -337,7 +337,7 @@ Your system is all ready to go.
<span class="o">.</span><span class="na">targetEntityType</span><span class="o">(</span><span class="s">"item"</span><span class="o">)</span>
<span class="o">.</span><span class="na">targetEntityId</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">viewEvent</span><span class="o">);</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>When the user "u0" buy item "i0" on time <code>2014-11-10T13:00:00.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-58c6f162-39ba-4970-a689-5088b0c09ffd">REST API</a></li> <li data-lang="python"><a href="#tab-c293af7a-55dd-4daa-9926-f88e4106f055">Python SDK</a></li> <li data-lang="php"><a href="#tab-9736cb0e-0649-46d7-a3fe-5fe17d907152">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-248f9ae4-402e-499e-a19d-ff980882c763">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-d64cc64b-e165-4ea7-9855-823aaa28b80d">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-58c6f162-39ba-4970-a689-5088b0c09ffd"> <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" buy item "i0" on time <code>2014-11-10T13:00:00.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-b2d8ac8c-962a-4355-8f45-e1450d68f9f5">REST API</a></li> <li data-lang="python"><a href="#tab-c133b598-ac87-4e00-b3dd-736f6c8b4007">Python SDK</a></li> <li data-lang="php"><a href="#tab-e808bd6e-f7f5-4f77-ad20-b4f7928eefce">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-43d5466f-f491-4e45-ad67-4374c0c909ac">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-f58f63ce-dd2a-40ac-9313-c2744191a167">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-b2d8ac8c-962a-4355-8f45-e1450d68f9f5"> <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
@@ -356,7 +356,7 @@ Your system is all ready to go.
"targetEntityId" : "i0",
"eventTime" : "2014-11-10T13:00:00.123-08:00"
}'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-c293af7a-55dd-4daa-9926-f88e4106f055"> <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-c133b598-ac87-4e00-b3dd-736f6c8b4007"> <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
@@ -373,7 +373,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-9736cb0e-0649-46d7-a3fe-5fe17d907152"> <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-e808bd6e-f7f5-4f77-ad20-b4f7928eefce"> <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
@@ -392,7 +392,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-248f9ae4-402e-499e-a19d-ff980882c763"> <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-43d5466f-f491-4e45-ad67-4374c0c909ac"> <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
@@ -409,7 +409,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-d64cc64b-e165-4ea7-9855-823aaa28b80d"> <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-f58f63ce-dd2a-40ac-9313-c2744191a167"> <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
@@ -490,19 +490,19 @@ User u10 buys item i40
</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 recommend 4 items to user ID "u1". You send this JSON <code>{ "userEntityId": "u1", "number": 4 }</code> to the deployed engine and it will return a JSON of the recommended items. 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 da
ta-lang="json"><a href="#tab-d884cbc5-1253-4513-bad1-986e4aafb817">REST API</a></li> <li data-lang="python"><a href="#tab-a1db2f0f-8f76-4293-bde6-fe03d4f48adc">Python SDK</a></li> <li data-lang="php"><a href="#tab-db695e10-b15d-46d2-887f-bce70c4d3b30">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-1295b556-2e72-4ae1-bca4-e3550c518753">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-484f97a6-8f9e-43d3-8cf6-608823d51322">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-d884cbc5-1253-4513-bad1-986e4aafb817"> <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 recommend 4 items to user ID "u1". You send this JSON <code>{ "userEntityId": "u1", "number": 4 }</code> to the deployed engine and it will return a JSON of the recommended items. 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 da
ta-lang="json"><a href="#tab-cd430dad-40c2-49a9-8964-cc6af5e5c9f9">REST API</a></li> <li data-lang="python"><a href="#tab-749f7eb5-4b55-4819-99c1-d6745b142e47">Python SDK</a></li> <li data-lang="php"><a href="#tab-066b7dfe-7418-445c-9d76-7b2f3bfa4c41">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-bb05e4e3-79b2-4475-9a3f-5a7034795ea4">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-66f1ea7b-f605-42e6-9afe-e742645ba13a">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-cd430dad-40c2-49a9-8964-cc6af5e5c9f9"> <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">'{ "userEntityId": "u1", "number": 4 }'</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-a1db2f0f-8f76-4293-bde6-fe03d4f48adc"> <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-749f7eb5-4b55-4819-99c1-d6745b142e47"> <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">"userEntityId"</span><span class="p">:</span> <span class="s">"u1"</span><span class="p">,</span> <span class="s">"number"</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-db695e10-b15d-46d2-887f-bce70c4d3b30"> <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-066b7dfe-7418-445c-9d76-7b2f3bfa4c41"> <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
@@ -521,7 +521,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-1295b556-2e72-4ae1-bca4-e3550c518753"> <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-bb05e4e3-79b2-4475-9a3f-5a7034795ea4"> <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
@@ -534,7 +534,7 @@ http://localhost:8000/queries.json
<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">'userEntityId'</span> <span class="o">=></span> <span class="s1">'i1'</span><span class="p">,</span> <span class="s1">'number'</span> <span class="o">=></span> <span class="mi">4</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-484f97a6-8f9e-43d3-8cf6-608823d51322"> <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-66f1ea7b-f605-42e6-9afe-e742645ba13a"> <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
@@ -578,7 +578,7 @@ http://localhost:8000/queries.json
<span class="o">{</span><span class="s2">"itemEntityId"</span>:<span class="s2">"i3"</span>,<span class="s2">"score"</span>:0.003007015026561692<span class="o">}</span>
<span class="o">]</span>
<span class="o">}</span>
-</pre></td></tr></tbody></table> </div> <p><em>MyECommerceRecommendation</em> is now running.</p> <div class="alert-message info"><p>To update the model periodically with new data, simply set up a cron job to call <code>pio train</code> and <code>pio deploy</code>. The engine will continue to serve prediction results during the re-train process. After the training is completed, <code>pio deploy</code> will automatically shutdown the existing engine server and bring up a new process on the same port.</p></div><div class="alert-message info"><p><strong>Note that if you import a <em>large</em> data set</strong> and the training seems to be taking forever or getting stuck, it's likely that there is not enough executor memory. It's recommended to setup a Spark standalone cluster, you'll need to specify more driver and executor memory when training with a large data set. Please see <a href="/resources/faq/#engine-training">FAQ here</a> for instructions.</p></div> <h2 id='setti
ng-constraint-"unavailableitems"' class='header-anchors'>Setting constraint "unavailableItems"</h2><p>Now let's send an item constraint "unavailableItems" (replace accessKey with your Access Key):</p><div class="alert-message note"><p>You can also use SDK to send this event as described in the SDK sample above.</p></div><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-ee6d8dd1-d4e5-4e98-b1a7-4b740dd914d9">REST API</a></li> <li data-lang="python"><a href="#tab-0cc4a30e-5a0f-4bb0-b995-96a6c50273d3">Python SDK</a></li> <li data-lang="php"><a href="#tab-0b471ea7-b369-4fc1-8dae-ea241709d577">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-cf7efe9e-48af-4659-93ab-86f876626bea">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-597f6b35-e2d7-4cc6-9a08-4fdd09cda065">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-ee6d8dd1-d4e5-4e98-b1a7-4b740dd914d9"> <div class="highlight shell"> <table style="borde
r-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <p><em>MyECommerceRecommendation</em> is now running.</p> <div class="alert-message info"><p>To update the model periodically with new data, simply set up a cron job to call <code>pio train</code> and <code>pio deploy</code>. The engine will continue to serve prediction results during the re-train process. After the training is completed, <code>pio deploy</code> will automatically shutdown the existing engine server and bring up a new process on the same port.</p></div><div class="alert-message info"><p><strong>Note that if you import a <em>large</em> data set</strong> and the training seems to be taking forever or getting stuck, it's likely that there is not enough executor memory. It's recommended to setup a Spark standalone cluster, you'll need to specify more driver and executor memory when training with a large data set. Please see <a href="/resources/faq/#engine-training">FAQ here</a> for instructions.</p></div> <h2 id='setti
ng-constraint-"unavailableitems"' class='header-anchors'>Setting constraint "unavailableItems"</h2><p>Now let's send an item constraint "unavailableItems" (replace accessKey with your Access Key):</p><div class="alert-message note"><p>You can also use SDK to send this event as described in the SDK sample above.</p></div><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-45aeb1e5-6832-43aa-9d95-fe0b45f78ca6">REST API</a></li> <li data-lang="python"><a href="#tab-37e3a58c-fdbc-4376-82eb-49464dd3bf72">Python SDK</a></li> <li data-lang="php"><a href="#tab-a71ea210-0b74-45e8-8ad0-22551113424b">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-77d0b759-dcf4-4ee7-b54b-1060b3140942">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-b113d438-fbbf-4280-a9bb-fe9d3a15e37e">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-45aeb1e5-6832-43aa-9d95-fe0b45f78ca6"> <div class="highlight shell"> <table style="borde
r-spacing: 0"><tbody><tr> <td class="gutter gl" style="text-align: right"><pre class="lineno">1
2
3
4
@@ -599,7 +599,7 @@ http://localhost:8000/queries.json
}
"eventTime" : "2015-02-17T02:11:21.934Z"
}'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-0cc4a30e-5a0f-4bb0-b995-96a6c50273d3"> <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-37e3a58c-fdbc-4376-82eb-49464dd3bf72"> <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
@@ -618,7 +618,7 @@ http://localhost:8000/queries.json
<span class="s">"items"</span> <span class="p">:</span> <span class="p">[</span><span class="s">"<ITEM ID1>"</span><span class="p">,</span> <span class="s">"<ITEM ID2>"</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-0b471ea7-b369-4fc1-8dae-ea241709d577"> <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-a71ea210-0b74-45e8-8ad0-22551113424b"> <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
@@ -635,7 +635,7 @@ http://localhost:8000/queries.json
<span class="s1">'properties'</span> <span class="o">=></span> <span class="k">array</span><span class="p">(</span><span class="s1">'items'</span> <span class="o">=></span> <span class="k">array</span><span class="p">(</span><span class="s1">'<ITEM ID1>'</span><span class="p">,</span> <span class="s1">'<ITEM ID2>'</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-cf7efe9e-48af-4659-93ab-86f876626bea"> <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-77d0b759-dcf4-4ee7-b54b-1060b3140942"> <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
@@ -650,7 +650,7 @@ http://localhost:8000/queries.json
<span class="s1">'properties'</span> <span class="o">=></span> <span class="p">{</span> <span class="s1">'items'</span> <span class="o">=></span> <span class="p">[</span><span class="s1">'<ITEM ID1>'</span><span class="p">,</span> <span class="s1">'<ITEM ID2>'</span><span class="p">]</span> <span class="p">}</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-597f6b35-e2d7-4cc6-9a08-4fdd09cda065"> <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-b113d438-fbbf-4280-a9bb-fe9d3a15e37e"> <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
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/templates/leadscoring/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/leadscoring/quickstart/index.html b/templates/leadscoring/quickstart/index.html
index 7207ec1..3d825f3 100644
--- a/templates/leadscoring/quickstart/index.html
+++ b/templates/leadscoring/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 training data for this Engine. By default, Lead Scoring Engine Template supports the following entities: <strong>user</strong>, <strong>page</strong>, and <strong>item</strong>. An user views a page, and buys an item.</p><p>Note that a "sessionId" property is required to indicate these events happen in the same session. In the first visit of a user, you should specify the optional "referrral ID" and "browser" information. These are used to determine where the user comes from and the browser information.</p><p>In summary, this template requires user-view-page event and user-buy-item events with the session ID, referrer ID and browser properties.</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 an user with ID u0 views a URL page "example.com/page0" on time <code>2014-11-02T09:39:45.618-08:00</code>, with session ID "akdj230fj8ass" (current time will be used if eventTime is not specified) you can send the event to Event Server. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-f673693a-7d84-4cbe-
9c6c-aa3bef66fcc9">REST API</a></li> <li data-lang="python"><a href="#tab-a6ab64ac-a2a5-4205-a090-f5f599895aeb">Python SDK</a></li> <li data-lang="php"><a href="#tab-cb44f892-7ccc-4a2a-acf5-dc303b2af3ee">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-c34526f1-0dc9-4985-8f8d-d1398c8dfa2d">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-315199c8-5366-4fc3-a5e5-b271cb65c1eb">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-f673693a-7d84-4cbe-9c6c-aa3bef66fcc9"> <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 training data for this Engine. By default, Lead Scoring Engine Template supports the following entities: <strong>user</strong>, <strong>page</strong>, and <strong>item</strong>. An user views a page, and buys an item.</p><p>Note that a "sessionId" property is required to indicate these events happen in the same session. In the first visit of a user, you should specify the optional "referrral ID" and "browser" information. These are used to determine where the user comes from and the browser information.</p><p>In summary, this template requires user-view-page event and user-buy-item events with the session ID, referrer ID and browser properties.</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 an user with ID u0 views a URL page "example.com/page0" on time <code>2014-11-02T09:39:45.618-08:00</code>, with session ID "akdj230fj8ass" (current time will be used if eventTime is not specified) you can send the event to Event Server. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-726cf05e-2f7a-4e35-
b806-667e3117d966">REST API</a></li> <li data-lang="python"><a href="#tab-46571bd4-04c9-4c5e-a12d-5c2b68c01c02">Python SDK</a></li> <li data-lang="php"><a href="#tab-d42f3083-f689-46b1-996c-0a5f8a779ca3">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-5d22a16b-f6fe-4e54-8325-ab0e71aefe46">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-d1efd47e-7137-47f7-af96-21d04c497f3d">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-726cf05e-2f7a-4e35-b806-667e3117d966"> <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
@@ -61,7 +61,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-a6ab64ac-a2a5-4205-a090-f5f599895aeb"> <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-46571bd4-04c9-4c5e-a12d-5c2b68c01c02"> <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
@@ -106,7 +106,7 @@ Your system is all ready to go.
<span class="s">"browser"</span><span class="p">:</span> <span class="o"><</span><span class="n">BROWSER</span><span class="o">></span> <span class="c"># optinal. but should specify this if you have this information when user views the landing page</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-cb44f892-7ccc-4a2a-acf5-dc303b2af3ee"> <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-d42f3083-f689-46b1-996c-0a5f8a779ca3"> <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
@@ -145,7 +145,7 @@ Your system is all ready to go.
<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-c34526f1-0dc9-4985-8f8d-d1398c8dfa2d"> <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-5d22a16b-f6fe-4e54-8325-ab0e71aefe46"> <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
@@ -178,7 +178,7 @@ Your system is all ready to go.
<span class="p">}</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-315199c8-5366-4fc3-a5e5-b271cb65c1eb"> <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-d1efd47e-7137-47f7-af96-21d04c497f3d"> <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
@@ -213,7 +213,7 @@ Your system is all ready to go.
<span class="o">.</span><span class="na">property</span><span class="o">(</span><span class="s">"referrerId"</span><span class="o">,</span> <span class="s">"<REFERRER ID>"</span><span class="o">)</span>
<span class="o">.</span><span class="na">property</span><span class="o">(</span><span class="s">"browser"</span><span class="o">,</span> <span class="s">"<BROWSER>"</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">viewEvent</span><span class="o">);</span>
-</pre></td> </tr></tbody></table> </div> </div> </div> <p>In the same browing session "akdj230fj8ass", the user with ID u0 buys an item i0 on time <code>2014-11-02T09:42:00.123-08:00</code> (current time will be used if eventTime is not specified), you can send the following buy event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-f96f57e2-1f3d-4647-af39-8f1bce89cbe0">REST API</a></li> <li data-lang="python"><a href="#tab-b9709551-f083-40b9-ab76-81799583261b">Python SDK</a></li> <li data-lang="php"><a href="#tab-3db2a992-bb77-45be-94d5-e62b2ddf1184">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-507154e9-9f3b-4805-acfa-2e47616ded18">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-81e6feaf-2a4c-40ab-940e-bdacfe45a81a">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-f96f57e2-1f3d-4647-af39-8f1bce89cbe0"> <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>In the same browing session "akdj230fj8ass", the user with ID u0 buys an item i0 on time <code>2014-11-02T09:42:00.123-08:00</code> (current time will be used if eventTime is not specified), you can send the following buy event. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-87241b23-d693-4646-aa00-e3c8a8cbfc4a">REST API</a></li> <li data-lang="python"><a href="#tab-ecb6af1d-5832-4f70-b8c0-b33e1607a2e4">Python SDK</a></li> <li data-lang="php"><a href="#tab-e4936ef8-1631-4606-8408-f9f5dd7d7c43">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-1849becb-0501-490f-89fa-c450ce47d916">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-1764b195-8164-458f-9b37-12680d0165fc">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-87241b23-d693-4646-aa00-e3c8a8cbfc4a"> <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
@@ -238,7 +238,7 @@ Your system is all ready to go.
}
"eventTime" : "2014-11-02T09:42:00.123-08:00"
}'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Python SDK" data-lang="python" id="tab-b9709551-f083-40b9-ab76-81799583261b"> <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-ecb6af1d-5832-4f70-b8c0-b33e1607a2e4"> <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
@@ -261,7 +261,7 @@ Your system is all ready to go.
<span class="s">"sessionId"</span><span class="p">:</span> <span class="o"><</span><span class="n">SESSION</span> <span class="n">ID</span><span class="o">></span><span class="p">,</span> <span class="c"># required</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-3db2a992-bb77-45be-94d5-e62b2ddf1184"> <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-e4936ef8-1631-4606-8408-f9f5dd7d7c43"> <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
@@ -288,7 +288,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-507154e9-9f3b-4805-acfa-2e47616ded18"> <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-1849becb-0501-490f-89fa-c450ce47d916"> <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
@@ -311,7 +311,7 @@ Your system is all ready to go.
<span class="p">}</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-81e6feaf-2a4c-40ab-940e-bdacfe45a81a"> <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-1764b195-8164-458f-9b37-12680d0165fc"> <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
@@ -371,7 +371,7 @@ User u5 buys item i5
</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 the results. When a user lands on your page "example.com/page9", with referrer "referrer10.com" and browser "Firefox", you can get the predicted lead score by sending this JSON '{ "landingPageId" : "example.com/page9", "referrerId" : "referrer10.com", "browser": "Firefox" }' to the deployed engine. The engine will return a JSON with the score.</p><p>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-3345f27c-a5e6-43ee-b105-f138d11feb9f">REST API</a></li> <li data-lang="python"><a href="#tab-1f94c356-341b-411b-941b-3c2a9f8c73fe">Python SDK</a></li> <li data-lang="php"><a href="#tab-906da11f-f3d4-4fee-ac45-a4ab674458cd">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-520cbba3-28f6-4be9-bdd7-55cbf5b750c4">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-5e857e6b-7a98-4563-85d0-142a64a4136e">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-3345f27c-a5e6-43ee-b105-f138d11feb9f"> <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 the results. When a user lands on your page "example.com/page9", with referrer "referrer10.com" and browser "Firefox", you can get the predicted lead score by sending this JSON '{ "landingPageId" : "example.com/page9", "referrerId" : "referrer10.com", "browser": "Firefox" }' to the deployed engine. The engine will return a JSON with the score.</p><p>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-8254cd3f-f67f-4f7c-8f06-a93457a743a3">REST API</a></li> <li data-lang="python"><a href="#tab-3ef27f9c-bcc5-4c07-a3c7-01c4ffc9be89">Python SDK</a></li> <li data-lang="php"><a href="#tab-5e9fc28b-112f-4796-bbb7-493f06f06d06">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-69a98a0f-982b-4357-9267-a494bbb67bee">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-c7c506f6-f122-4bba-9661-1a396f2c4038">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-8254cd3f-f67f-4f7c-8f06-a93457a743a3"> <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
@@ -384,7 +384,7 @@ User u5 buys item i5
"browser": "Firefox" }'</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-1f94c356-341b-411b-941b-3c2a9f8c73fe"> <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-3ef27f9c-bcc5-4c07-a3c7-01c4ffc9be89"> <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
@@ -397,7 +397,7 @@ http://localhost:8000/queries.json
<span class="s">"referrerId"</span> <span class="p">:</span> <span class="s">"referrer10.com"</span><span class="p">,</span>
<span class="s">"browser"</span><span class="p">:</span> <span class="s">"Firefox"</span>
<span class="p">})</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK" data-lang="php" id="tab-906da11f-f3d4-4fee-ac45-a4ab674458cd"> <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-5e9fc28b-112f-4796-bbb7-493f06f06d06"> <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
@@ -426,7 +426,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-520cbba3-28f6-4be9-bdd7-55cbf5b750c4"> <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-69a98a0f-982b-4357-9267-a494bbb67bee"> <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
@@ -447,7 +447,7 @@ http://localhost:8000/queries.json
<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-5e857e6b-7a98-4563-85d0-142a64a4136e"> <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-c7c506f6-f122-4bba-9661-1a396f2c4038"> <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
[2/8] predictionio-site git commit: Documentation based on
apache/predictionio#06de8af546d3c688bc8a832a5d09fba57961b1b5
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/templates/productranking/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/productranking/quickstart/index.html b/templates/productranking/quickstart/index.html
index 9a57b49..dd98548 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-b4c4a267-ac26-4a9d-a09b-7baf36700ec5">REST API</a></li> <li data-lang="python"><a href="#tab-dc0ba589-bb23-4c91-aa11-e3646977421b">Python SDK</a></li> <li data-lang="php"><a href="#tab-784f47fb-4988-4b78-8597-3f86ba0011e9">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-aebb6741-3383-4cdd-8349-ffce40becc78">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-80f4de1b-3292-4a33
-a3d9-c66be6bf6e7e">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-b4c4a267-ac26-4a9d-a09b-7baf36700ec5"> <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-42202a4c-5765-4eb6-8601-b7c7962ab59b">REST API</a></li> <li data-lang="python"><a href="#tab-ba01c566-3a34-4991-8b5f-13bed4065c54">Python SDK</a></li> <li data-lang="php"><a href="#tab-105b37b6-1593-462c-b84b-76235c29bdf9">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-da8c9299-fa7b-49d1-9fde-6f3925c4b15a">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-2481db58-c8b7-434c
-8409-fe2046384ca3">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-42202a4c-5765-4eb6-8601-b7c7962ab59b"> <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-dc0ba589-bb23-4c91-aa11-e3646977421b"> <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-ba01c566-3a34-4991-8b5f-13bed4065c54"> <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-784f47fb-4988-4b78-8597-3f86ba0011e9"> <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-105b37b6-1593-462c-b84b-76235c29bdf9"> <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-aebb6741-3383-4cdd-8349-ffce40becc78"> <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-da8c9299-fa7b-49d1-9fde-6f3925c4b15a"> <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-80f4de1b-3292-4a33-a3d9-c66be6bf6e7e"> <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-2481db58-c8b7-434c-8409-fe2046384ca3"> <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-b2df72c4-9163-4140-a2a9-a70143f22b64">REST API</a></li> <li data-lang="python"><a href="#tab-494fc3bd-66f0-4e99-babf-53c7afe71e5d">Python SDK</a></li> <li data-lang="php"><a href="#tab-2004fe15-2c26-4f9d-9e0a-ca72e4140579">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-2b2ec5c9-87ea-4c2c-acc6-5205d2aa82c4">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-035ce4e1-17cb-45c2-b9ff-40f36d369473">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-b2df72c4-9163-4140-a2a9-a70143f22b64"> <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-47070cd0-ccb0-48bf-9242-b31781dfadb4">REST API</a></li> <li data-lang="python"><a href="#tab-b256171e-47ea-4d5f-8202-296111a779fd">Python SDK</a></li> <li data-lang="php"><a href="#tab-68f035fa-dfa7-421f-965c-af52ae990681">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-5b8c638d-87d0-4832-86de-54a12b2ce8f4">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-a3c6d588-addd-4980-beb5-57a7cd8c1a62">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-47070cd0-ccb0-48bf-9242-b31781dfadb4"> <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-494fc3bd-66f0-4e99-babf-53c7afe71e5d"> <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-b256171e-47ea-4d5f-8202-296111a779fd"> <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-2004fe15-2c26-4f9d-9e0a-ca72e4140579"> <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-68f035fa-dfa7-421f-965c-af52ae990681"> <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-2b2ec5c9-87ea-4c2c-acc6-5205d2aa82c4"> <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-5b8c638d-87d0-4832-86de-54a12b2ce8f4"> <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-035ce4e1-17cb-45c2-b9ff-40f36d369473"> <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-a3c6d588-addd-4980-beb5-57a7cd8c1a62"> <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-3f330597-a0fd-4fe0-a140-e350839b786b">REST API</a></li> <li data-lang="python"><a href="#tab-055c87dd-42bc-4a16-b43b-720402e8cb84">Python SDK</a></li> <li data-lang="php"><a href="#tab-61335b02-1ca5-487d-9a5a-9ad4c5cb26e1">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-826a6842-6076-46b0-bc03-c8a74f9aae9c">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-4b678c76-98d2-4ed2-877a-b1a06a7922d7">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-3f330597-a0fd-4fe0-a140-e350839b786b"> <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-f463a575-f7cb-43f6-a3e9-6677dc268f31">REST API</a></li> <li data-lang="python"><a href="#tab-0ac06433-9909-4f76-9b72-fd4e39966e24">Python SDK</a></li> <li data-lang="php"><a href="#tab-c093152f-6cd2-4030-a121-341ffb01e93a">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-957cf3bc-cc29-45d6-9cb6-93a574aa8a99">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-aaf25177-6795-486e-8f50-fa988bfe4c15">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-f463a575-f7cb-43f6-a3e9-6677dc268f31"> <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-055c87dd-42bc-4a16-b43b-720402e8cb84"> <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-0ac06433-9909-4f76-9b72-fd4e39966e24"> <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-61335b02-1ca5-487d-9a5a-9ad4c5cb26e1"> <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-c093152f-6cd2-4030-a121-341ffb01e93a"> <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-826a6842-6076-46b0-bc03-c8a74f9aae9c"> <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-957cf3bc-cc29-45d6-9cb6-93a574aa8a99"> <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-4b678c76-98d2-4ed2-877a-b1a06a7922d7"> <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-aaf25177-6795-486e-8f50-fa988bfe4c15"> <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-7104b55d-45ad-4447-947c-cae890521306">REST API</a></li> <li data-lang="python"><a href="#tab-c218030b-2a7e-4537-99ad-d066603c04bc">Python SDK</a></li> <li data-lang="php"><a href="#tab-4e062ed9-37ea-4f0f-8547-ade17a6beaf1">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-775152d9-c91a-4b55-8eba-9cef96d5e927">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-e0a7d66b-16ef-470f-a427-47670f4fdc10">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-7104b55d-45ad-4447-947c-cae890521306"> <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-a02cd563-3002-455c-b538-e206114fd3b7">REST API</a></li> <li data-lang="python"><a href="#tab-e3ffce41-34ac-4915-8cd9-b8ab4aefb36a">Python SDK</a></li> <li data-lang="php"><a href="#tab-d6f8f52c-9640-4fdd-b710-dfa405d47052">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-6aca7278-d0ea-4ff0-8313-293d948a9c1c">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-3f461657-16c3-45c2-84a5-60fc69fa665e">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-a02cd563-3002-455c-b538-e206114fd3b7"> <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-c218030b-2a7e-4537-99ad-d066603c04bc"> <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-e3ffce41-34ac-4915-8cd9-b8ab4aefb36a"> <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-4e062ed9-37ea-4f0f-8547-ade17a6beaf1"> <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-d6f8f52c-9640-4fdd-b710-dfa405d47052"> <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-775152d9-c91a-4b55-8eba-9cef96d5e927"> <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-6aca7278-d0ea-4ff0-8313-293d948a9c1c"> <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-e0a7d66b-16ef-470f-a427-47670f4fdc10"> <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-3f461657-16c3-45c2-84a5-60fc69fa665e"> <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
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/templates/recommendation/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/quickstart/index.html b/templates/recommendation/quickstart/index.html
index 362b349..a37e418 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-bbc9d3fc-51c8-4b56-93f9-4c662b6b994c">REST API</a></li> <li data-lang="python"><a href="#tab-0d4fd890-f54f-4fec-a75d-6f49944f15d5">Python SDK</a></li> <li data-lang="php"><a href="#tab-cba4a38d-ec09-4818-a822-780b7ea46dd3">PHP
SDK</a></li> <li data-lang="ruby"><a href="#tab-8121a936-e701-45ca-95f6-145c4c95eda7">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-214223a5-f1d6-4894-a870-6becbd85bc3a">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-bbc9d3fc-51c8-4b56-93f9-4c662b6b994c"> <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-8bb9e0aa-7fa9-4b2c-abb2-fd5b78624422">REST API</a></li> <li data-lang="python"><a href="#tab-df5af629-f2d1-46c4-95c7-72f29ab1e2bd">Python SDK</a></li> <li data-lang="php"><a href="#tab-b02a1abc-0444-422e-a6bb-d20748f00727">PHP
SDK</a></li> <li data-lang="ruby"><a href="#tab-f46d25f3-e00f-4f1e-b001-2df0015c4064">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-5e595c15-339b-4e6a-8a5a-5ae31574abef">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-8bb9e0aa-7fa9-4b2c-abb2-fd5b78624422"> <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-0d4fd890-f54f-4fec-a75d-6f49944f15d5"> <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-df5af629-f2d1-46c4-95c7-72f29ab1e2bd"> <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-cba4a38d-ec09-4818-a822-780b7ea46dd3"> <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-b02a1abc-0444-422e-a6bb-d20748f00727"> <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-8121a936-e701-45ca-95f6-145c4c95eda7"> <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-f46d25f3-e00f-4f1e-b001-2df0015c4064"> <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-214223a5-f1d6-4894-a870-6becbd85bc3a"> <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-5e595c15-339b-4e6a-8a5a-5ae31574abef"> <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-feaec541-ed7d-4594-b35f-b012c31ed4e5">REST API</a></li> <li data-lang="python"><a href="#tab-685db404-4043-4b28-92b3-57b6380acc1f">Python SDK</a></li> <li data-lang="php"><a href="#tab-80b58d99-1c99-4068-a86c-a15b24a9164e">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-716aad99-efdb-4e77-bced-939813f81b7c">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-13d934eb-72a8-4aec-8c46-252cb180efee">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-feaec541-ed7d-4594-b35f-b0
12c31ed4e5"> <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-83202ec6-06fe-4eeb-8fa9-90e0d688e0e2">REST API</a></li> <li data-lang="python"><a href="#tab-a0edd811-15ff-496c-ab33-91812c6c7374">Python SDK</a></li> <li data-lang="php"><a href="#tab-de8bc275-f05c-473b-af67-f33585376070">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-6deb830a-3981-4649-a958-c31a8f86959d">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-cfd28ed0-1e1c-474f-ad9d-83ca110f3198">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-83202ec6-06fe-4eeb-8fa9-90
e0d688e0e2"> <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-685db404-4043-4b28-92b3-57b6380acc1f"> <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-a0edd811-15ff-496c-ab33-91812c6c7374"> <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-80b58d99-1c99-4068-a86c-a15b24a9164e"> <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-de8bc275-f05c-473b-af67-f33585376070"> <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-716aad99-efdb-4e77-bced-939813f81b7c"> <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-6deb830a-3981-4649-a958-c31a8f86959d"> <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-13d934eb-72a8-4aec-8c46-252cb180efee"> <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-cfd28ed0-1e1c-474f-ad9d-83ca110f3198"> <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-f974e1aa-f74e-4ea4-aa2a-93e0d0174c7a">REST API</a></li> <li data-lang="python"><a href="#tab-559040b3-07b2-4ee1-8b87-25e56211fb80">Python SDK</a></li> <li data-lang="php"><a href="#tab-fd396977-d0f3-443a-89b4-97fbdaf10798">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-ee9e5a68-aeaa-449a-86a9-7e284359c144">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-91322178-7956-48da-b157-ddc8a9e00bff">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-f974e1aa-f74e-4ea4-aa2a-93e0d0174c7a"> <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-7fe24332-2560-46cc-a3ce-ab969051be6f">REST API</a></li> <li data-lang="python"><a href="#tab-5493752d-fa0f-4083-b2f8-f1e0f8693b58">Python SDK</a></li> <li data-lang="php"><a href="#tab-faf279ee-c67f-4d84-9e7b-723d43717d25">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-e2e07539-2f0e-4305-9d6d-74b4368a4433">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-d51e16ee-b65a-49b8-a53e-5319330e247f">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-7fe24332-2560-46cc-a3ce-ab969051be6f"> <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-559040b3-07b2-4ee1-8b87-25e56211fb80"> <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-5493752d-fa0f-4083-b2f8-f1e0f8693b58"> <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-fd396977-d0f3-443a-89b4-97fbdaf10798"> <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-faf279ee-c67f-4d84-9e7b-723d43717d25"> <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-ee9e5a68-aeaa-449a-86a9-7e284359c144"> <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-e2e07539-2f0e-4305-9d6d-74b4368a4433"> <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-91322178-7956-48da-b157-ddc8a9e00bff"> <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-d51e16ee-b65a-49b8-a53e-5319330e247f"> <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
http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/41d3b97b/templates/similarproduct/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/similarproduct/quickstart/index.html b/templates/similarproduct/quickstart/index.html
index 29d24cc..d93d4a2 100644
--- a/templates/similarproduct/quickstart/index.html
+++ b/templates/similarproduct/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 Similar Product Engine Template supports 2 types of entities: <strong>user</strong> and <strong>item</strong>, and event <strong>view</strong>. An item has the <strong>categories</strong> property, which is a list of category names (String). A user can view an item. Respectively, this template requires '$set' user event, '$set' item event, and user-view-item events.</p><div class="alert-message info"><p>This template can easily be customized to consider more user events such as <em>buy</em>, <em>rate</em> and <em>like</em>.</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 detai
ls 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-7bcc5f06-6019-483c-82c2-319ee992c664">REST API</a></li> <li data-lang="python"><a href="#tab-e08e448f-1e
a4-4e81-aea0-18fe8688c004">Python SDK</a></li> <li data-lang="php"><a href="#tab-d399d2ea-e060-4d4f-8add-913b8ecf10ae">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-6f21f47b-1161-44a4-8241-1afba807bba1">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-2b2374fc-2563-475d-a23e-1a7cc3cf3d3f">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-7bcc5f06-6019-483c-82c2-319ee992c664"> <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 Similar Product Engine Template supports 2 types of entities: <strong>user</strong> and <strong>item</strong>, and event <strong>view</strong>. An item has the <strong>categories</strong> property, which is a list of category names (String). A user can view an item. Respectively, this template requires '$set' user event, '$set' item event, and user-view-item events.</p><div class="alert-message info"><p>This template can easily be customized to consider more user events such as <em>buy</em>, <em>rate</em> and <em>like</em>.</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 detai
ls 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-d2979a0b-7caf-44bb-8243-c7abb703e47a">REST API</a></li> <li data-lang="python"><a href="#tab-2979c87d-f7
27-43cd-aeab-ec05a6e0a0f8">Python SDK</a></li> <li data-lang="php"><a href="#tab-d47e7676-4211-4a33-a6e8-3bb1e2ebdcf9">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-dd202aef-fedd-43ac-8fd7-276dc9995cf0">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-e9e3453d-e9f3-46b1-a392-a84c68ea8b27">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-d2979a0b-7caf-44bb-8243-c7abb703e47a"> <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-e08e448f-1ea4-4e81-aea0-18fe8688c004"> <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-2979c87d-f727-43cd-aeab-ec05a6e0a0f8"> <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
@@ -86,7 +86,7 @@ Your system is all ready to go.
<span class="n">event_time</span><span class="o">=</span><span class="n">datetime</span><span class="p">(</span>
<span class="mi">2014</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mo">02</span><span class="p">,</span> <span class="mi">09</span><span class="p">,</span> <span class="mi">39</span><span class="p">,</span> <span class="mi">45</span><span class="p">,</span> <span class="mi">618000</span><span class="p">,</span> <span class="n">pytz</span><span class="o">.</span><span class="n">timezone</span><span class="p">(</span><span class="s">'US/Pacific'</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-d399d2ea-e060-4d4f-8add-913b8ecf10ae"> <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-d47e7676-4211-4a33-a6e8-3bb1e2ebdcf9"> <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
@@ -111,7 +111,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-6f21f47b-1161-44a4-8241-1afba807bba1"> <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-dd202aef-fedd-43ac-8fd7-276dc9995cf0"> <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
@@ -128,7 +128,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-2b2374fc-2563-475d-a23e-1a7cc3cf3d3f"> <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-e9e3453d-e9f3-46b1-a392-a84c68ea8b27"> <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
@@ -153,7 +153,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. Note that the item is set with categories properties: <code>"c1"</code> and <code>"c2"</code>. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-6201ab47-d2da-40e5-8b6d-5f2bac51ad07">REST API</a></li> <li data-lang="python"><a href="#tab-1f987546-fd50-4459-9229-e343f18281ca">Python SDK</a></li> <li data-lang="php"><a href="#tab-58dad402-ac0a-4505-b56b-b9280e25d725">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-eff554cc-b63e-4a58-83da-d1a531d980b5">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-5016f377-091a-4e9d-be93-2d4371b98e62">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-6201ab
47-d2da-40e5-8b6d-5f2bac51ad07"> <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 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. Note that the item is set with categories properties: <code>"c1"</code> and <code>"c2"</code>. Run the following <code>curl</code> command:</p><div class="tabs"> <ul class="control"> <li data-lang="json"><a href="#tab-80c3ee27-bbea-435d-aa53-c99330a31540">REST API</a></li> <li data-lang="python"><a href="#tab-e2ca27e2-18a3-42f3-958e-85d84866d877">Python SDK</a></li> <li data-lang="php"><a href="#tab-83a5b150-dbf3-4b0d-8d9a-179d0f70aa3d">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-366d85de-83ec-43fd-b172-e7c2e553ce0f">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-b4377a2c-de51-44f5-836c-b28a03cceb7f">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-80c3ee
27-bbea-435d-aa53-c99330a31540"> <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
@@ -174,7 +174,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-1f987546-fd50-4459-9229-e343f18281ca"> <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-e2ca27e2-18a3-42f3-958e-85d84866d877"> <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
@@ -193,7 +193,7 @@ Your system is all ready to go.
<span class="s">"categories"</span> <span class="p">:</span> <span class="p">[</span><span class="s">"<CATEGORY_1>"</span><span class="p">,</span> <span class="s">"<CATEGORY_2>"</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-58dad402-ac0a-4505-b56b-b9280e25d725"> <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-83a5b150-dbf3-4b0d-8d9a-179d0f70aa3d"> <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
@@ -214,7 +214,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-eff554cc-b63e-4a58-83da-d1a531d980b5"> <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-366d85de-83ec-43fd-b172-e7c2e553ce0f"> <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
@@ -231,7 +231,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-5016f377-091a-4e9d-be93-2d4371b98e62"> <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-b4377a2c-de51-44f5-836c-b28a03cceb7f"> <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
@@ -244,7 +244,7 @@ Your system is all ready to go.
<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="o">.</span><span class="na">property</span><span class="o">(</span><span class="s">"categories"</span><span class="o">,</span> <span class="n">ImmutableList</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"<CATEGORY_1>"</span><span class="o">,</span> <span class="s">"<CATEGORY_2>"</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-a1a6d3fa-3adc-4225-90f6-df1ba392c636">REST API</a></li> <li data-lang="python"><a href="#tab-545010aa-b05d-461c-a362-13c9eece7ad8">Python SDK</a></li> <li data-lang="php"><a href="#tab-628c25c4-9fcb-47cc-a3b2-aa7cc4cbde10">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-c4909547-d1a1-493d-80ac-63f67b361743">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-bbd51de2-42ba-4dfa-8c8f-9602f718a8cb">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-a1a6d3fa-3adc-4225-90f6-df1ba392c636"> <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-8c26a4d7-7e4e-4133-9cc5-2d31c5fa72d2">REST API</a></li> <li data-lang="python"><a href="#tab-f253e18f-b576-440e-be52-d119e98d2623">Python SDK</a></li> <li data-lang="php"><a href="#tab-b3c1bb92-3030-41aa-bf26-85b9d1c65187">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-5aa3a758-564b-4b74-bca9-7ed36f5fcd28">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-5f004656-0dc0-4f4f-8b9d-510a09995580">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-8c26a4d7-7e4e-4133-9cc5-2d31c5fa72d2"> <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
@@ -263,7 +263,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-545010aa-b05d-461c-a362-13c9eece7ad8"> <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-f253e18f-b576-440e-be52-d119e98d2623"> <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
@@ -280,7 +280,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-628c25c4-9fcb-47cc-a3b2-aa7cc4cbde10"> <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-b3c1bb92-3030-41aa-bf26-85b9d1c65187"> <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
@@ -299,7 +299,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-c4909547-d1a1-493d-80ac-63f67b361743"> <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-5aa3a758-564b-4b74-bca9-7ed36f5fcd28"> <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
@@ -316,7 +316,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-bbd51de2-42ba-4dfa-8c8f-9602f718a8cb"> <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-5f004656-0dc0-4f4f-8b9d-510a09995580"> <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
@@ -376,19 +376,19 @@ User u10 views item i29
</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 retrieve 4 items which are similar to item ID "i1". You send this JSON <code>{ "items": ["i1"], "num": 4 }</code> to the deployed engine and it will return a JSON of the recommended items. 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-77b201f7-b577-47f3-bafd-64834d751170">REST API</a></li> <li data-lang="python"><a href="#tab-b18b4853-aecd-482f-924b-170cadd2df9b">Python SDK</a></li> <li data-lang="php"><a href="#tab-1d0a72cb-f573-4cc5-8c06-dd39fbe8cc4e">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-98adb7c3-dfc5-4b6f-88a6-8d96471b4844">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-2ba97c4b-e1d1-4f34-aecf-e9bcbd6e9f18">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-77b201f7-b577-47f3-bafd-64834d751170"> <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 retrieve 4 items which are similar to item ID "i1". You send this JSON <code>{ "items": ["i1"], "num": 4 }</code> to the deployed engine and it will return a JSON of the recommended items. 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-baba4d49-8d9d-4543-89b8-38eb1cd378af">REST API</a></li> <li data-lang="python"><a href="#tab-d541530f-d235-4dc6-8165-917929deeef1">Python SDK</a></li> <li data-lang="php"><a href="#tab-89bb7e27-e73b-4bce-b338-e746f368cf0b">PHP SDK</a></li> <li data-lang="ruby"><a href="#tab-d328f710-61d5-4ada-827d-845e3a03acb0">Ruby SDK</a></li> <li data-lang="java"><a href="#tab-3a5edca4-6dca-4cc6-86a1-75b8009bbd23">Java SDK</a></li> </ul> <div data-tab="REST API" data-lang="json" id="tab-baba4d49-8d9d-4543-89b8-38eb1cd378af"> <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">'{ "items": ["i1"], "num": 4 }'</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-b18b4853-aecd-482f-924b-170cadd2df9b"> <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-d541530f-d235-4dc6-8165-917929deeef1"> <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">"items"</span><span class="p">:</span> <span class="p">[</span><span class="s">"i1"</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-1d0a72cb-f573-4cc5-8c06-dd39fbe8cc4e"> <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-89bb7e27-e73b-4bce-b338-e746f368cf0b"> <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
@@ -407,7 +407,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-98adb7c3-dfc5-4b6f-88a6-8d96471b4844"> <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-d328f710-61d5-4ada-827d-845e3a03acb0"> <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
@@ -420,7 +420,7 @@ http://localhost:8000/queries.json
<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">'items'</span> <span class="o">=></span> <span class="p">[</span><span class="s1">'i1'</span><span class="p">],</span> <span class="s1">'num'</span> <span class="o">=></span> <span class="mi">4</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-2ba97c4b-e1d1-4f34-aecf-e9bcbd6e9f18"> <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-3a5edca4-6dca-4cc6-86a1-75b8009bbd23"> <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