Tumblelog by Soup.io
Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

September 02 2010

casey

Faceted search

Have I mentioned how much I love the Sphinx search engine?

I think that I have.

I want to talk about how I used Sphinx to create a new faceted search for Ravelry but I don’t really know where to begin. I’m was happy while working on it and I’m happy with the result. Sphinx itself performs amazingly and that amount of code needed to make it all work is pretty small and very sensible. It’s really surprising how many ways you can take advantage of what it has to offer - someone should really write a “Sphinx Recipes” book.

I’m pretty sure that I spent more time on Javascript micro-optimization than I did on Sphinx performance optimization… but that’s a topic for another day. (Like.. the facet counts that you see are inside of transparent, disabled form fields because updating their values was waaaay faster in IE)

For now, here is a video. It was made to introduce the features to Ravelers so it doesn’t point out any of the technical things that I’d like to show. It’s just a little peek that gives you some idea of what can be done with Sphinx beyond plain old full text search. Sphinx is handling the full text search, the filtering by facet, the computing of counts in each facet, and the selection of results. Pretty much everything other than pulling the data to display the photos and names. All of the work is done in a single call to Sphinx - one query “batch”.

Ravelry Search Help from Ravelry on Vimeo.

One more neat thing: Here is one of the facets in the people search. Sphinx knows how to calculate geodistance so given a search, it can create a facet by grouping results by distance from some point…and it does it fast.

Tags: Database
casey

September 01 2010

casey

August 31 2010

August 30 2010

casey

August 29 2010

August 28 2010

casey
casey

August 27 2010

August 26 2010

casey

Project Management, Collaborate with Teams, Post Notes on Live Websites: Denote

Denote is a simple and powerful tool that lets you leave notes and communicate directly on live Websites with your project teams. Share feedback, manage projects, save time.

August 25 2010

casey
Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.