I was asked by a friendly company to improve their current product recommendation system which is currently a couple of complex SQL queries using fulltext search that match similar products based on title, description and tags (a single comma separated field).<p>The new system must also take into account the click rate of a product (in regard of similar ones) when it's being recommended, meaning that when products B and C are presented as similar products of A and the user clicks on B, it's click rate in regard of A is increased and may influence the next recommendation of similar products of A which orders the result by similarity and click rate in relation to the displayed product.<p>As a note, my customer is also interested in obtaining for example 8 products from this set plus 2 more with a low click rate to give them a chance of obtaining a higher click rate.<p>It's also required to be able to configure the weights of the "variables", for example, 0.5<i>clickRate+0.3</i>description and so on.<p>Instead of starting to hack a custom solution i've been looking for recommendation engines in PHP (the database is mysql) but haven't found much.<p>I'm also aware of Apache Mahout, i could suggest the use of Mahout or a similar java engine as a webservice but i know the customer is very much prone to a "pure" PHP solution, as their applications are very basic stack-wise.<p>Additionally i don't have experience with Mahout or recommendation engines in general, so i'm currently not aware how they manage the "related click rate" feature.
My questions are:<p>- Any suggestions?
- Have i missed any tool?<p>Thanks