From commits-return-4937-archive-asf-public=cust-asf.ponee.io@predictionio.apache.org Fri Jun 29 05:12:46 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 8FB50180662 for ; Fri, 29 Jun 2018 05:12:44 +0200 (CEST) Received: (qmail 96470 invoked by uid 500); 29 Jun 2018 03:12:43 -0000 Mailing-List: contact commits-help@predictionio.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@predictionio.apache.org Delivered-To: mailing list commits@predictionio.apache.org Received: (qmail 96461 invoked by uid 99); 29 Jun 2018 03:12:43 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 29 Jun 2018 03:12:43 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 097ACC057F for ; Fri, 29 Jun 2018 03:12:43 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -9.604 X-Spam-Level: X-Spam-Status: No, score=-9.604 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, MANY_SPAN_IN_TEXT=2.097, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, USER_IN_DEF_SPF_WL=-7.5] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id yPxTF5RWRRC6 for ; Fri, 29 Jun 2018 03:12:31 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 480FF5F1B3 for ; Fri, 29 Jun 2018 03:12:31 +0000 (UTC) Received: (qmail 96029 invoked by uid 99); 29 Jun 2018 03:12:30 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 29 Jun 2018 03:12:30 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 7E104E1121; Fri, 29 Jun 2018 03:12:30 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: git-site-role@apache.org To: commits@predictionio.incubator.apache.org Date: Fri, 29 Jun 2018 03:12:31 -0000 Message-Id: <4c3115cdf1e745b78785d9024bb69dc0@git.apache.org> In-Reply-To: <93f75e336aff4af1bbae35d6a10ec9ca@git.apache.org> References: <93f75e336aff4af1bbae35d6a10ec9ca@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [02/12] predictionio-site git commit: Documentation based on apache/predictionio#37c17935475cf9f753f6be4d9ab22dbbd7d3cd4a http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/8ce20376/templates/productranking/quickstart/index.html ---------------------------------------------------------------------- diff --git a/templates/productranking/quickstart/index.html b/templates/productranking/quickstart/index.html index cb9c828..0c38549 100644 --- a/templates/productranking/quickstart/index.html +++ b/templates/productranking/quickstart/index.html @@ -32,7 +32,7 @@ Your system is all ready to go. [INFO] [App$] MyApp1 | 1 | 3mZWDzci2D5YsqAnqNnXH9SB6Rg3dsTBs8iHkK6X2i54IQsIZI1eEeQQyMfs7b3F | (all) [INFO] [App$] MyApp2 | 2 | io5lz6Eg4m3Xe4JZTBFE13GMAf1dhFl6ZteuJfrO84XpdOz9wRCrDU44EUaYuXq5 | (all) [INFO] [App$] Finished listing 2 app(s). -

4. Collecting Data

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: user and item, and event view. A user can view an item. This template requires '$set' user event, '$set' item event and user-view-item events.

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 App Integration Overview for more details how to integrate your app with SDK.

Let's try sending events to EventServer with the following curl commands (The corresponding SDK code is showed in other tabs).

Replace <ACCCESS_KEY> by the Access Key generated in above steps. Note that localhost:7070 is the default URL of the Event Server.

For convenience, set your access key to the shell variable, run:

$ ACCESS_KEY=<ACCESS_KEY>

For example, when a new user with id "u0" is created in your app on time 2014-11-02T09:39:45.618-08:00 (current time will be used if eventTime is not specified), you can send a $set event for this user. To send this event, run the following curl command:

1
+

4. Collecting Data

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: user and item, and event view. A user can view an item. This template requires '$set' user event, '$set' item event and user-view-item events.

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 App Integration Overview for more details how to integrate your app with SDK.

Let's try sending events to EventServer with the following curl commands (The corresponding SDK code is showed in other tabs).

Replace <ACCCESS_KEY> by the Access Key generated in above steps. Note that localhost:7070 is the default URL of the Event Server.

For convenience, set your access key to the shell variable, run:

$ ACCESS_KEY=<ACCESS_KEY>

For example, when a new user with id "u0" is created in your app on time 2014-11-02T09:39:45.618-08:00 (current time will be used if eventTime is not specified), you can send a $set event for this user. To send this event, run the following curl command:

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"
 }'
-
1
+
1
 2
 3
 4
@@ -78,7 +78,7 @@ Your system is all ready to go.
   entity_type="user",
   entity_id=<USER_ID>
 )
-
1
+
1
 2
 3
 4
@@ -103,7 +103,7 @@ Your system is all ready to go.
   'entityId' => <USER ID>
 ));
 ?>
-
1
+
1
 2
 3
 4
@@ -120,7 +120,7 @@ Your system is all ready to go.
   'user',
   <USER ID>
 )
-
1
+
1
 2
 3
 4
@@ -145,7 +145,7 @@ Your system is all ready to go.
   .entityType("user")
   .entityId(<USER_ID>);
 client.createEvent(userEvent);
-

When a new item "i0" is created in your app on time 2014-11-02T09:39:45.618-08:00 (current time will be used if eventTime is not specified), you can send a $set event for the item. Run the following curl command:

When a new item "i0" is created in your app on time 2014-11-02T09:39:45.618-08:00 (current time will be used if eventTime is not specified), you can send a $set event for the item. Run the following curl command:

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"
 }'
-
1
+
1
 2
 3
 4
@@ -173,7 +173,7 @@ Your system is all ready to go.
   entity_type="item",
   entity_id=<ITEM_ID>
 )
-
1
+
1
 2
 3
 4
@@ -190,7 +190,7 @@ Your system is all ready to go.
 ));
 
 ?>
-
1
+
1
 2
 3
 4
@@ -203,7 +203,7 @@ Your system is all ready to go.
   <ITEM ID>
 )
 
-
1
+
1
 2
 3
 4
@@ -214,7 +214,7 @@ Your system is all ready to go.
   .entityType("item")
   .entityId(<ITEM_ID>);
 client.createEvent(itemEvent)
-

When the user "u0" view item "i0" on time 2014-11-10T12:34:56.123-08:00 (current time will be used if eventTime is not specified), you can send a view event. Run the following curl command:

When the user "u0" view item "i0" on time 2014-11-10T12:34:56.123-08:00 (current time will be used if eventTime is not specified), you can send a view event. Run the following curl command:

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"
 }'
-
1
+
1
 2
 3
 4
@@ -250,7 +250,7 @@ Your system is all ready to go.
   target_entity_type="item",
   target_entity_id=<ITEM ID>
 )
-
1
+
1
 2
 3
 4
@@ -269,7 +269,7 @@ Your system is all ready to go.
    'targetEntityId' => <ITEM ID>
 ));
 ?>
-
1
+
1
 2
 3
 4
@@ -286,7 +286,7 @@ Your system is all ready to go.
     'targetEntityId' => <ITEM ID>
   }
 )
-
1
+
1
 2
 3
 4
@@ -344,14 +344,14 @@ User u10 views item i7
 

When the engine is deployed successfully and running, you should see a console message similar to the following:

1
 2
[INFO] [HttpListener] Bound to /0.0.0.0:8000
 [INFO] [MasterActor] Bind successful. Ready to serve.
-

Do not kill the deployed engine process.

By default, the deployed engine binds to http://localhost:8000. You can visit that page in your web browser to check its status.

Engine Status

6. Use the Engine

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 { "user": "u2", "items": ["i1", "i3", "i10", "i2", "i5", "i31", "i9"] } 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 EngineCl ient of an SDK.

With the deployed engine running, open another terminal and run the following curl command or use SDK to send the query:

1
+

Do not kill the deployed engine process.

By default, the deployed engine binds to http://localhost:8000. You can visit that page in your web browser to check its status.

Engine Status

6. Use the Engine

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 { "user": "u2", "items": ["i1", "i3", "i10", "i2", "i5", "i31", "i9"] } 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 EngineCl ient of an SDK.

With the deployed engine running, open another terminal and run the following curl command or use SDK to send the query:

1
 2
 3
 4
$ curl -H "Content-Type: application/json" \
 -d '{ "user": "u2", "items": ["i1", "i3", "i10", "i2", "i5", "i31", "i9"]}' \
 http://localhost:8000/queries.json
 
-
1
+
1
 2
 3
 4
@@ -362,7 +362,7 @@ http://localhost:8000/queries.json
   "user": "u2",
   "items": ["i1", "i3", "i10", "i2", "i5", "i31", "i9"]
 })
-
1
+
1
 2
 3
 4
@@ -385,7 +385,7 @@ http://localhost:8000/queries.json
 print_r($response);
 
 ?>
-
1
+
1
 2
 3
 4
@@ -402,7 +402,7 @@ http://localhost:8000/queries.json
   'items' => ['i1', 'i3', 'i10', 'i2', 'i5', 'i31', 'i9'])
 
 puts response
-
1
+
1
 2
 3
 4
@@ -459,4 +459,4 @@ http://localhost:8000/queries.json
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/8ce20376/templates/recommendation/batch-evaluator/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/batch-evaluator/index.html b/templates/recommendation/batch-evaluator/index.html
index 9c7c316..e717f9d 100644
--- a/templates/recommendation/batch-evaluator/index.html
+++ b/templates/recommendation/batch-evaluator/index.html
@@ -294,4 +294,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/8ce20376/templates/recommendation/blacklist-items/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/blacklist-items/index.html b/templates/recommendation/blacklist-items/index.html
index e0d36f4..273d3c5 100644
--- a/templates/recommendation/blacklist-items/index.html
+++ b/templates/recommendation/blacklist-items/index.html
@@ -166,4 +166,4 @@ http://localhost:8000/queries.json
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/8ce20376/templates/recommendation/customize-data-prep/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/customize-data-prep/index.html b/templates/recommendation/customize-data-prep/index.html
index a06ee3e..a1eb84e 100644
--- a/templates/recommendation/customize-data-prep/index.html
+++ b/templates/recommendation/customize-data-prep/index.html
@@ -140,4 +140,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/8ce20376/templates/recommendation/customize-serving/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/customize-serving/index.html b/templates/recommendation/customize-serving/index.html
index 7cbbd08..c152c5d 100644
--- a/templates/recommendation/customize-serving/index.html
+++ b/templates/recommendation/customize-serving/index.html
@@ -178,4 +178,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/8ce20376/templates/recommendation/dase/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/dase/index.html b/templates/recommendation/dase/index.html
index 29f8c41..1148ff2 100644
--- a/templates/recommendation/dase/index.html
+++ b/templates/recommendation/dase/index.html
@@ -364,4 +364,4 @@ val itemStringIntMap = BiMap.stringInt(
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/8ce20376/templates/recommendation/evaluation/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/evaluation/index.html b/templates/recommendation/evaluation/index.html
index 99f1abc..d535264 100644
--- a/templates/recommendation/evaluation/index.html
+++ b/templates/recommendation/evaluation/index.html
@@ -288,4 +288,4 @@ Metrics:
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/8ce20376/templates/recommendation/how-to/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/how-to/index.html b/templates/recommendation/how-to/index.html
index ee8755d..8438a2b 100644
--- a/templates/recommendation/how-to/index.html
+++ b/templates/recommendation/how-to/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/8ce20376/templates/recommendation/quickstart/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/quickstart/index.html b/templates/recommendation/quickstart/index.html
index b54efe1..1bb70a7 100644
--- a/templates/recommendation/quickstart/index.html
+++ b/templates/recommendation/quickstart/index.html
@@ -32,7 +32,7 @@ Your system is all ready to go.
 [INFO] [App$]               MyApp1 |    1 | 3mZWDzci2D5YsqAnqNnXH9SB6Rg3dsTBs8iHkK6X2i54IQsIZI1eEeQQyMfs7b3F | (all)
 [INFO] [App$]               MyApp2 |    2 | io5lz6Eg4m3Xe4JZTBFE13GMAf1dhFl6ZteuJfrO84XpdOz9wRCrDU44EUaYuXq5 | (all)
 [INFO] [App$] Finished listing 2 app(s).
-

4. Collecting Data

Next, let's collect some training data. By default, the Recommendation Engine Template supports 2 types of events: rate and buy. 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.

This template can easily be customized to consider more user events such as like, dislike etc.

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 App Integration Overview for more details how to integrate your app with SDK.

Let's try sending events to EventServer with the following curl commands (The corresponding SDK code is showed in other tabs).

< p>Replace <ACCCESS_KEY> by the Access Key generated in above steps. Note that localhost:7070 is the default URL of the Event Server.

For convenience, set your access key to the shell variable, run:

$ ACCESS_KEY=<ACCESS_KEY>

Example rate event

A user (ID "u0") gives an item (ID "i0") a rating of 5 at 2014-11-02T09:39:45.618-08:00 (current time will be used if eventTime is not specified)

Run the following curl command to send the rate event:

1
+

4. Collecting Data

Next, let's collect some training data. By default, the Recommendation Engine Template supports 2 types of events: rate and buy. 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.

This template can easily be customized to consider more user events such as like, dislike etc.

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 App Integration Overview for more details how to integrate your app with SDK.

Let's try sending events to EventServer with the following curl commands (The corresponding SDK code is showed in other tabs).

< p>Replace <ACCCESS_KEY> by the Access Key generated in above steps. Note that localhost:7070 is the default URL of the Event Server.

For convenience, set your access key to the shell variable, run:

$ ACCESS_KEY=<ACCESS_KEY>

Example rate event

A user (ID "u0") gives an item (ID "i0") a rating of 5 at 2014-11-02T09:39:45.618-08:00 (current time will be used if eventTime is not specified)

Run the following curl command to send the rate event:

1
 2
 3
 4
@@ -57,7 +57,7 @@ Your system is all ready to go.
   }
   "eventTime" : "2014-11-02T09:39:45.618-08:00"
 }'
-
1
+
1
 2
 3
 4
@@ -92,7 +92,7 @@ Your system is all ready to go.
     target_entity_id=<ITEM ID>,
     properties= { "rating" : float(<RATING>) }
 )
-
1
+
1
 2
 3
 4
@@ -123,7 +123,7 @@ Your system is all ready to go.
    'properties' => array('rating'=> <RATING>)
 ));
 ?>
-
1
+
1
 2
 3
 4
@@ -150,7 +150,7 @@ Your system is all ready to go.
   }
 )
 
-
1
+
1
 2
 3
 4
@@ -179,7 +179,7 @@ Your system is all ready to go.
     .property("rating", new Float(<RATING>));
 client.createEvent(rateEvent);
 
-

Example buy event

A user (ID "u1") buys an item (ID "i2") at 2014-11-10T12:34:56.123-08:00 (current time will be used if eventTime is not specified)

Run the following curl command to send the buy event:

Example buy event

A user (ID "u1") buys an item (ID "i2") at 2014-11-10T12:34:56.123-08:00 (current time will be used if eventTime is not specified)

Run the following curl command to send the buy event:

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"
 }'
-
1
+
1
 2
 3
 4
@@ -213,7 +213,7 @@ Your system is all ready to go.
     target_entity_type="item",
     target_entity_id=<ITEM ID>
 )
-
1
+
1
 2
 3
 4
@@ -232,7 +232,7 @@ Your system is all ready to go.
    'targetEntityId' => <ITEM ID>
 ));
 ?>
-
1
+
1
 2
 3
 4
@@ -249,7 +249,7 @@ Your system is all ready to go.
     'targetEntityId' => <ITEM ID>
   }
 )
-
1
+
1
 2
 3
 4
@@ -297,17 +297,17 @@ Your system is all ready to go.
 

When the engine is deployed successfully and running, you should see a console message similar to the following:

1
 2
[INFO] [HttpListener] Bound to /0.0.0.0:8000
 [INFO] [MasterActor] Bind successful. Ready to serve.
-

Do not kill the deployed engine process.

By default, the deployed engine binds to http://localhost:8000. You can visit that page in your web browser to check its status.

Engine Status

6. Use the Engine

Now, You can try to retrieve predicted results. To recommend 4 movies to user whose id is 1, you send this JSON { "user": "1", "num": 4 } 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 EngineClient of an SDK.

With the deployed engine running, open another terminal and run the following curl command or use SDK to send the query:

1
+

Do not kill the deployed engine process.

By default, the deployed engine binds to http://localhost:8000. You can visit that page in your web browser to check its status.

Engine Status

6. Use the Engine

Now, You can try to retrieve predicted results. To recommend 4 movies to user whose id is 1, you send this JSON { "user": "1", "num": 4 } 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 EngineClient of an SDK.

With the deployed engine running, open another terminal and run the following curl command or use SDK to send the query:

1
 2
 3
$ curl -H "Content-Type: application/json" \
 -d '{ "user": "1", "num": 4 }' http://localhost:8000/queries.json
 
-
1
+
1
 2
 3
import predictionio
 engine_client = predictionio.EngineClient(url="http://localhost:8000")
 print engine_client.send_query({"user": "1", "num": 4})
-
1
+
1
 2
 3
 4
@@ -326,7 +326,7 @@ Your system is all ready to go.
 print_r($response);
 
 ?>
-
1
+
1
 2
 3
 4
@@ -339,7 +339,7 @@ Your system is all ready to go.
 response = client.send_query('user' => <USER ID>, 'num' => <NUMBER (integer)>)
 
 puts response
-
1
+
1
 2
 3
 4
@@ -384,4 +384,4 @@ Your system is all ready to go.
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/8ce20376/templates/recommendation/reading-custom-events/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/reading-custom-events/index.html b/templates/recommendation/reading-custom-events/index.html
index 62d418d..3e2bbbf 100644
--- a/templates/recommendation/reading-custom-events/index.html
+++ b/templates/recommendation/reading-custom-events/index.html
@@ -53,4 +53,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/8ce20376/templates/recommendation/training-with-implicit-preference/index.html
----------------------------------------------------------------------
diff --git a/templates/recommendation/training-with-implicit-preference/index.html b/templates/recommendation/training-with-implicit-preference/index.html
index ae2c58a..27a05d8 100644
--- a/templates/recommendation/training-with-implicit-preference/index.html
+++ b/templates/recommendation/training-with-implicit-preference/index.html
@@ -162,4 +162,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/8ce20376/templates/similarproduct/dase/index.html
----------------------------------------------------------------------
diff --git a/templates/similarproduct/dase/index.html b/templates/similarproduct/dase/index.html
index 48bceb6..85c4332 100644
--- a/templates/similarproduct/dase/index.html
+++ b/templates/similarproduct/dase/index.html
@@ -666,4 +666,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/8ce20376/templates/similarproduct/how-to/index.html
----------------------------------------------------------------------
diff --git a/templates/similarproduct/how-to/index.html b/templates/similarproduct/how-to/index.html
index 588c457..526f17a 100644
--- a/templates/similarproduct/how-to/index.html
+++ b/templates/similarproduct/how-to/index.html
@@ -3,4 +3,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/8ce20376/templates/similarproduct/multi-events-multi-algos/index.html
----------------------------------------------------------------------
diff --git a/templates/similarproduct/multi-events-multi-algos/index.html b/templates/similarproduct/multi-events-multi-algos/index.html
index d093408..2f28880 100644
--- a/templates/similarproduct/multi-events-multi-algos/index.html
+++ b/templates/similarproduct/multi-events-multi-algos/index.html
@@ -570,4 +570,4 @@
 e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
 })(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
 
-_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file
+_st('install','HaUfpXXV87xoB_zzCQ45');
\ No newline at end of file