I want to build a Recommendation System to recommend products to users. This is for research purposes. The context-system the engine will be integrated in is also not build yet.
So right now I am starting the project, building kind of a E-Commerce & Social-Network-Platform for research purposes.
To realize the recommendation system, I want to integrate Neo4j and Elasticsearch with each other. For the content based filtering part Elasticsearch should do its job nicely. For the collaborative filtering part I want to use the Graph in Neo4j.
I would like to ask you for some experience or suggestions about the following questions regarding this topic:
- Should I use another database as the main system storage and just use Neo4j to store recommendation data? Or is it a suggestive way to just store everything in the same graph?
- How would you determine which part of the recommendation computation should happen online in Realtime and which offline as a precomputation?
- Does anyone here have some experience with this kind of realization? What did your architecture look like?
Sorry, if this is a little vague described here and there. I am also new to this and want to expand my horizon.
Thanks alot for your help. I would be really happy to get some input here?