last year, at the start of July
Facet search - using facete query for lucene OR generating dynamic sql for mysql
Posted by pbirnie under technology
![]()

I found a new favorite search engine for travel - http://www.kayak.co.uk/ - its yet another flight / car / hotel search engine - but its interface is clean and fast - very good UX.
One of the things I like about it is its faceted search - ie. On the left pannel there is a slider where I can specify a range of take off times and a range of landing times. I assume that these changes make a call to faceted search engine like Lucene - but there is no reason they couldnt just be a dynamically built sql query into a mysql database.
In my minds systems like Lucene have the following properties:
- superior fuzzy text matching capabilities including custom ranking algos, stemming
- slow to index (slow to update data)
- good support for clustering (federated search)
Mysql has the following properties
- nice well know SQL interface
- suite of well tested and known tools to support replication, turning etc
- fast to update index (for rapidly changing data - like product offers)
- could be used in a clustered / federated mod. ie call 10 instances of mysql - each with their own portion of the data - then merge data and re-rank on the in the fedorator component
- support for plugin-able backend query engines (which could be a webservice call to Lucene)
