23 Jan 2015 dan   » (Master)

Lucene, you don't do your Daddy's will

I’m only showing you pictures of the new Sledge UI as a stopgap, as it will shortly be replaced with the new new Sledge UI.

I Am Keeping: the way we allow search refining. Each search you request (either by typing something in or by clicking an artist or title name) is turned into one of those little yellow label things and then you can remove it again just by clicking the ‘x’ (I stole this idiom from the amazon ec2 console ui, but it’s also what the gmail composer does when you type addresses into the to/from lines).

I Am Losing: the link to ‘view play queue’. Rather than a ‘tabs’ metaphor, we will have an ‘expand’ button in the player area at the bottom which causes the queue to roll up and overlay the search results.

Also To Go: the browser-native audio controls, which are getting replaced with something that is consistent across browsers.

But the bigger reason for writing: already gone, the Lucene interface for storing the music database. I started working on having Sledge monitor its music folders for additions/deletions, and realised just how hard it is to persuade Lucene to search for an exact match on a particular field with no ambiguity or helpful tokenising – which is necessary when you want to delete the record for a file that’s not in the filesytsem any more. So now we’re using a flat file and EDN and doing our own tokenising into a bunch of maps that are created at load time. It’s actually faster too, but I don’t think that’s anything to do with Lucene, more with it being the second stab at the problem.

This has now taken substantially more than one weekend and it’s still not done. Damn scope creep.

Syndicated 2015-01-22 07:10:54 from diary at Telent Netowrks

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!