Lately I saw a lot of excitement around writing asynchronous code, non blocking, lock free, etc... This is good as we are moving towards more parallelized/concurrent softwares and libraries. There are nice performance improvements ahead. But I fear that we are going into having code hard to understand and therefore to debug.
Setting up a search engine in one thing, but to make it actually work, in the human sense, is another story. Having a search which basically does a grep on all your content is the bare minimum you can do, but what makes Google awesome is that when you search something, you find quickly good content. When you search something, you should find good results, and the good results first. Here some of the things we did to make the Scoop.it search looks good.
As soon as you start having a good amount of data, browsing them is not anymore a solution and you need a search engine. It happened to us some time ago at Scoop.it. We are pretty happy with what we put in place almost 2 years ago. Let's revisit the story.