Blacklisting items in the query happens at query time, events sent to the 
EventServer will take effect only after the next training time. So item 
blacklists seems to be the right approach for your issue.


On Jul 26, 2017, at 11:52 PM, Mattz <[email protected]> wrote:

Yes, I think that's what I will do. Thanks for the help!

On Thu, Jul 27, 2017 at 11:31 AM, Vaghawan Ojha <[email protected] 
<mailto:[email protected]>> wrote:
Yes Mattz, that's why I pointed that, it's more easy and effective I think. You 
could just save the blocked items somewhere that may be even in your relational 
database in which your original application resides, and update them 
accordingly, and using them while querying. Or else you can save them in 
eventserver as a user properties and retrive them while querying. Both way it 
should be of help. 

Thanks
Vaghawan

On Thu, Jul 27, 2017 at 11:44 AM, Mattz <[email protected] 
<mailto:[email protected]>> wrote:
Thanks Vaghawan. I think using the "blacklistItems" might be better for my use 
case rather than passing in the "block" events. I didn't think of this. 

On Thu, Jul 27, 2017 at 11:15 AM, Vaghawan Ojha <[email protected] 
<mailto:[email protected]>> wrote:
So you're not sending the blocklisted items in query like this right?

"blacklistItems": ["itemId1", "itemId2", ...]

So, you have those blocked events, then you must be able to update them 
accordingly just the way you set them as blocked. Or else I'm still not clear 
(I'm sorry in that case). 

Thanks
Vaghawan

On Thu, Jul 27, 2017 at 11:26 AM, Mattz <[email protected] 
<mailto:[email protected]>> wrote:
This is how I am using now. I send a blocked event if a user blocks an item. 
So, when recommending items for the user, this item does not show up. I am 
using the "universal recommender" template. 

On Thu, Jul 27, 2017 at 11:09 AM, Vaghawan Ojha <[email protected] 
<mailto:[email protected]>> wrote:
Oh Yes Mattz, I seems to have misunderstood your situation. I thought that you 
were having that blocked prop as a properties or something. My thought must 
have been totally wrong. 

I'm not clear if you're sending the blocked items in query or something else? 
Also which template you have been using? 

Thanks



On Thu, Jul 27, 2017 at 11:19 AM, Mattz <[email protected] 
<mailto:[email protected]>> wrote:
Thanks Vaghawan. "$set" and "$unset" are used to set/unset item properties 
right? Since these are not like the other events, these items would still be 
returned unless I manually find all the things blocked and filter from list to 
get my result set. But, if I send "blocked" as a regular event, PIO 
automatically filters out items that were blocked by the user. 

On Thu, Jul 27, 2017 at 10:59 AM, Vaghawan Ojha <[email protected] 
<mailto:[email protected]>> wrote:
Hi Mattz,

You could just use $set, $unset to achieve this. When user wish to unblock the 
item, just send in another request in the event server to update the event. 
This would solve your problem from as much as I know from using pio 
eventserver. 

you could find the examples here. 
https://predictionio.incubator.apache.org/datacollection/eventmodel/ 
<https://predictionio.incubator.apache.org/datacollection/eventmodel/>

Thanks
Vaghawan

On Thu, Jul 27, 2017 at 11:09 AM, Mattz <[email protected] 
<mailto:[email protected]>> wrote:
Hello,

I have a use case where I am sending a "blocked" event for a user for a 
particular item. When this happens, PIO eliminates this item from the result 
set. But, the user can choose to "unblock" this item at a later time. I am 
wondering how to handle this. Should I somehow delete the event from the even 
server? If yes, how? Is there any other way to solve this?

Thanks!









Reply via email to