PredictionIO / template-scala-parallel-universal-recommendation

PredictiionIO Template for Universal Recommender
111 stars 48 forks source link

Filter based on properties #48

Open dipenpatel235 opened 8 years ago

dipenpatel235 commented 8 years ago

Hello... i have build scala-parallel-universal-recommendation engine. Now My goal is Filter based On Properties . For Example I have no. of books and its properties so i want filter books based on properties. So i need to required any change on engine.json ? how i filter based on properties (please give api example if u have) ?

Here for example i have Create one event but get error while i am doing pio train to engine...

curl -i -X POST http://localhost:7070/events.json?accessKey=bBtSSSSSSSS8UyQCla2x9h8Wd9Ce22yJuq2Qr7N1bv08buzZeU6XKiy3 \ -H "Content-Type: application/json" \ -d '{ "event" : "my_event", "entityType" : "user", "entityId" : "uid", "targetEntityType" : "item", "targetEntityId" : "iid", "properties" : { "bookname" : "PinkPanter", "Author" : "DipenDalsaniya", "noofpages" : "192", "price" : "$100", "pricerange" : "$100-$200", }, "eventTime" : "2004-12-13T21:39:45.618Z" }'

SO Please provide me right direction ...

Thanks

pferrel commented 8 years ago

Please take the question to the support forum here: https://groups.google.com/forum/#!forum/actionml-user

Please read the docs for the UR here: http://actionml.com/docs/ur You do not need to specify properties or property filters in engine.json.

As the documents say, you will have property "name" and property "value" and the legal values are only arrays of strings like:

"properties" : {
    "bookname" : ["PinkPanter"],
    "Author" : ["DipenDalsaniya"],
    "noofpages" : ["192"],
    "price" : ["$100"],
    "pricerange" : ["$100-$200"],
},

a single value is a special case of multiple valued properties like:

"genre": ["horror", "suspense", "action"]

Please read the docs for how to encode these in $set events.