Just want to throw this in: If you're worried about scaling, etc. you could take a look at item-based collaborative filtering instead of user based. i.e: DO NIGHTLY/ BATCH: - calculate the similarity between items based on their properties
DO ON EACH REQUEST - have a user store/update it's interest as a vector of item-properties. How to update this based on click / browse behavior is the interesting thing and depends a lot on your environment. - Next is to recommend 'neighboring' items that are close to the defined 'interest-vector'. The code is similar to user-based colab. filtering, but scaling is invariant to the nr of users. other advantages: - new items/ products can be recommended as soon as they are added to the catalog (no need for users to express interest in them before the item can be suggested) disadvantage: - top-N results tend to be less dynamic then when using user-based colab. filtering. Of course, this doesn't touch on how to integrate this with Solr. Perhaps some combination with Mahout is indeed the best solution. I haven't given this much thought yet I must say. For info on Mahout Taste (+ an explanation on item-based filtering vs. user-based filtering) see: http://lucene.apache.org/mahout/taste.html Cheers, Geert-Jan 2010/5/21 Rih <tanrihae...@gmail.com> > > > > - keep the SOLR index independent of bought/like > > - have a db table with user prefs on a per item basis > > > I have the same idea this far. > > at query time, specify boosts for 'my items' items > > > I believe this works if you want to sort results by faved/not faved. But > how > does it scale if users already favorited/liked hundreds of item? The query > can be quite long. > > Looking forward to your idea. > > > > On Thu, May 20, 2010 at 6:37 PM, dc tech <dctech1...@gmail.com> wrote: > > > Another approach would be to do query time boosts of 'my' items under > > the assumption that count is limited: > > - keep the SOLR index independent of bought/like > > - have a db table with user prefs on a per item basis > > - at query time, specify boosts for 'my items' items > > > > We are planning to do this in the context of document management where > > documents in 'my (used/favorited.... ) folders' provide a boost factor > > to the results. > > > > > > > > On 5/20/10, findbestopensource <findbestopensou...@gmail.com> wrote: > > > Hi Rih, > > > > > > You going to include either of the two field "bought" or "like" to per > > > member/visitor OR a unique field per member / visitor? > > > > > > If it's one or two common fields are included then there will not be > any > > > impact in performance. If you want to include unique field then you > need > > to > > > consider multi value field otherwise you certainly hit the wall. > > > > > > Regards > > > Aditya > > > www.findbestopensource.com > > > > > > > > > > > > > > > On Thu, May 20, 2010 at 12:13 PM, Rih <tanrihae...@gmail.com> wrote: > > > > > >> Has anybody done personalized search with Solr? I'm thinking of > > including > > >> fields such as "bought" or "like" per member/visitor via dynamic > fields > > to > > >> a > > >> product search schema. Another option is to have a multi-value field > > that > > >> can contain user IDs. What are the possible performance issues with > this > > >> setup? > > >> > > >> Looking forward to your ideas. > > >> > > >> Rih > > >> > > > > > > > -- > > Sent from my mobile device > > >