One of my favorite ways to do this is to use the Factious plugin. It is still fairly basic and only has a Sidebar widget by default. However, it has an extenable API(ish thing) that lets you write code to place it elsewhere.
The reasons why I like it are this:
- Written by people who know what they are doing (Code for the People WordPress VIP Partners)
- Simple
- Keeps search within WordPress. For me this is huge I’m always skeptical about using third party services.
- Extendable
Not sure if that is what you are looking for but none the less it should be a tiny bit easier than writing custom WP_Query
and will be a good “get your feet wet” into WordPress’ Objects.