Designing Recommendation Engine with Elastic Search

My end goal is to serve an app where the user can do through a bunch of docs: if the like a document, they see another document similar to the one they liked…if they like that one, they see another on – and so on.

I’m planning to store all of these docs in an elastic search instance. Every day, I’d insert 100 documents via a cronjob at a given time.

Upon insertion of a single document, d, I would also compute how similar is to all existing documents. I would create a new field called most_ similar_to in d and it would be a list of pointers to the other similar documents.

The advantage to the above approach is that the end user doesn’t have to “wait” for my app to find similar docs, as it’s already cached.

How can I improve on this design? It’s a simple server, with no concurrency or anything.

Architecture/algorithm for unusual recommendation system

There are thousands (or tens of thousands) of possible movie titles. New user enters my website and selects hundreds of titles that he likes.

The only single goal of my website is to output the list of other users that liked exact same titles, but with only very minor differences – say, only 1-5 titles between users are different.

The solution I see is straightforward – take input from new user, iterate over every row in database to compare it with every other user, output the result.

But I want to solve it with millions (or tens of millions) of users in mind – and the straightforward solution of course doesn’t scale well at all.

I feel like maybe my lack of formal education with algorithms/data structures is limiting my thinking here – how could I implement a more efficient solution?

Note that I don’t want to categorize users in vague buckets that have common interests – I want to match exact titles between users as precisely as possible – so it’s not your usual common recommendation system, I guess.

Recommendation for user synchronization between organization and external website

We are building a small social media platform for collaboration among a group of similar (but disparate) organizations. Each organization will have a small group of users who will be able to post content on this platform.

What would be the recommended ways for these users to create accounts on our social media platform? Our primary concern is if any member of the group leaves the parent firm, then his access should be revoked immediately from the platform too. He/she would obviously know the credentials, since he/she was a part of the entitled users earlier.

We are planning to host our platform on a cloud provider like MS Azure or AWS.

Thanks in advance

Framework recommendation for web admin panels [on hold]

Most of the time I see myself making an admin panel for content management, alongside the Mobile or Web App whose content will be managed (like a e-shop or something else).

For this, I use PHP, HTML5 and JS. I’ve recently added a Babel transpiler to make things easier on the frontend, but if you look at the big picture, it isn’t such a huge leap in development speed.

I’d like to know if there’s something that’s much better, faster and easier to maintain, and less cumbersome (since there is quite a lot of JavaScript) for this kind of development, where there’s a lot of content population (the ‘getters’) and a lot of AJAX requests for saving or deleting. (the ‘setters’).

Need a recommendation for Course videos with piracy / download protection (could involve a javascript video player or something else)

I’m really stuck on this one and would appreciate some help!

I am a video course creator and need to protect my video content (which will be embedded on my website) from being downloaded or shared on social media.

At the same time, I am also looking for a place to host my videos (for free or on my own server, though I prefer a free 3rd party solution if possible). Naturally, Youtube is the first thing that comes to mind, but the problem with that is that the YouTube logo shows up on the video and is clickable, which makes it easy to share the URL on Torrent sites, etc, even if I set the video to “Unlisted”.

I know Wistia and Vimeo offer a premium solution, but I am wondering if there’s a free option out there that I may not know about.

My requirements are: 1. Free video hosting 2. Fool-proof protection of my video content The second requirement above may involve a custom javascript web player (like Wistia’s as seen here: which makes it hard to download the video, even by looking at the source).

I am open to ideas.

Suggestions / recommendations / general thoughts?