Cauldron is my solution to Magic: The Gathering card search.

Search for a [flying 1/1], for example, and you'll get the expected. [mill] and [fog] use their namesakes to determine what to look for. You can even search for [ponder with wings], which should give you Sage Owl, among others, or [boomerang on a stick].

Updated: now you can search for [like ponder] (for example), and it will find the most relevant card you described and give you related cards. [ponder with wings] is equivalent to [flying like ponder].

Updated: By default, searches check everything, from name to artist, but you can change this by adding a prefix. [type:soldier] might be good in standard right now, and a friend of mine is a big fan of ["Terese Nielsen"]. If you're building a deck for a sanctioned event, [standard] is your friend. The "in" prefix checks formats (including block) and sets, so you might need [legal:extended] for the former or [set:timeshifted] for the latter.

I've got a few prefixes in for the four numeric parts of a card, too: cost, power, toughness, and loyalty. Need something to combo with your Doran? try [toughness>=5] for example. While [flying 1/1 for 1] (now) works, you can do the same with [cost=1 flying 1/1]. [white weenie] and [green fatty] are also here for you.

Most of the supported "slang" is available on the mailing list, but if you don't get what you expect when you use your own slang, drop the list a message.