Client-side libraries for personalized product filtering and ranking
Revision as of 09:00, 8 September 2020 by Stephane (talk | contribs) (Created page with "== Summary == Client-side libraries for personalized product filtering and ranking is the 3rd of the 4 sub-tasks of the Project:Personalized_Search funded by the NGI0 Dis...")
Summary
Client-side libraries for personalized product filtering and ranking is the 3rd of the 4 sub-tasks of the Project:Personalized_Search funded by the NGI0 Discovery Fund managed by NlNet.
Overview
Diagram source: https://vecta.io/app/edit/-M2XyVv8ZoaLNrW-zQoT
- The Open Food Facts mobile app (and 3rd party apps) make generic search requests that do not contain user preferences
- The server returns a big number of generic results
- The app uses the user preferences stored locally to personalize the search results
User preferences
User preferences format
Hash of attribute ids with string values.
The list of attribute ids will be sent by the server, along with localized names, descriptions, warnings etc.
String values:
- unset
- not_important
- important
- very_important
- mandatory
String values are used instead of 0, 1, 2, 3, 4 etc. so that the JSON is clearer to understand for humans, and so that we have the flexibility to add other values later (e.g. "somewhat_important")