Hi Bryan, If you have sufficient like/dislike data, I would set up a collaborative filtering / recommendation system. For example : https://mahout.apache.org
Then we can view mlt as content based recommendation. Then you can combine results from both systems. Ahmet On Wednesday, March 4, 2015 7:51 PM, Bryan Bende <bbe...@gmail.com> wrote: Does anyone have experience tracking documents that a user "liked" / "disliked" and then incorporating that into a MoreLikeThis query? The idea would be to exclude any document a user disliked from ever returning as a similar document, and to boost any document a user liked so it shows up higher in the similar documents. The biggest question seems to be how and where to store the likes/dislikes... - A multi-valued field on each document that stores the usernames of who liked it (same for dislikes). This will cause a lot of updates to this document, and the document can be fairly large with a lot of stored fields. - A nested child document that stores the user, whether it was a like or dislike, and any other necessary information, and then somehow using block-join. If I'm correct this still requires updating the whole block when a new child document is inserted. - A separate solr document that stores the same information as the nested child would, but would have to be joined together at query time. Not sure of the performance impact here. - Store the likes/dislikes completely outside Solr and somehow pass this information in to a query, not sure if this is feasible if there are thousands of likes and dislikes for a single user. Any thoughts or best practices for implementing something like this would be appreciated. Thanks, Bryan