background preloader

Searchengine

Facebook Twitter

Building Fast Client-side Searches. Yesterday we released a new people selector widget (which we’ve been calling Bo Selecta internally). This widget downloads a list of all of your contacts, in JavaScript, in under 200ms (this is true even for members with 10,000+ contacts). In order to get this level of performance, we had to completely rethink how we send data from the server to the client. Server Side: Cache Everything To make this data available quickly from the server, we maintain and update a per-member cache in our database, where we store each member’s contact list in a text blob — this way it’s a single quick DB query to retrieve it. Testing the Performance of Different Data Formats Despite the fact that our backend system can deliver the contact list data very quickly, we still don’t want to unnecessarily fetch it for each page load.

With this goal in mind, we started testing various data formats, and recording the average amount of time it took to download and parse each one. Going Custom Searching The End Result. Jr. Mahalo.com: Human-powered Search. Live Search with Quicksilver Style. The Web Developer's SEO Cheat Sheet.