Friday, February 18, 2011

New Old Cookbook Search

I mentioned in an earlier post that I was redoing the guts behind the Medieval Cookbook Search. Today I'm announcing that the monumental task is now complete (and you probably can't imagine how happy that makes me).

Not only is the search more efficient now, but there are a couple of new features that I think will prove very helpful.

As before, the search page offers the opportunity to search for one or more ingredients in all the cookbooks, or in just a single one.

There's a behind-the-scenes benefit here in that the list of cookbooks is now dynamically generated. This makes maintenance a bit easier.

I also changed the code behind the search algorithm to make it immensely easier to add search terms and update the index files. Because of this I've added a note asking for input and corrections, along with a link to the site's contact page.

Part of my motivation for this rests in a post I read on a mailing list quite some time ago that
noted problems when searching one of the books for the word "wine". Apparently I had inadvertently deleted that search term on one of the times I was working on the index. Now I should be able to correct that sort of problem without trashing something else.

Those changes aren't all that visible though, and probably appeal only to the database geeks out there. The next couple of changes are more useful for the search users.

The recipe display now highlights the found terms within the recipe. This is something I've wanted to do for a while, but the old search code didn't really allow for it.

Beneath the recipe there is still the section I added a while back listing equivalent recipes.

This data comes from a manually maintained database, which means unless I happen across equivalent recipes in one or more cookbooks (or someone else finds them and tells me), and unless I get around to entering the data, there may or may not be anything to show.

The new fun section shows up immediately below the "equivalents".

The "similar titles" section is automatically generated when I build the indexes. It algorithmically pares down the recipe title to its base words, and then looks for other recipes with titles that sound the same (this helps deal with medieval spelling variations).

This feature should help users locate other versions of the displayed recipe, whether I or anyone else has matched them up. I know I'm a geek, but I think this is positively epic (my sons' favorite word lately).

Hopefully the new search code will work well. If you use it and have any comments, I'd love to hear them!

No comments: