Hi,
We recently needed to add suppot for Managed Metadata column in out List Search product. Managed metadata column is of type TaxonomyFieldType, which in turns derives from the Lookup column type. List Search in its Advanced mode provides an interactive search query builder. You can enter up to 5 conditions, selecting a column for the condition will filter the list of possible operators and also present a suitable value selector, e.g. a date picker for a date or a combo box for lookups/choice fields.
Originally developed for 2007, List Search had no specific support for managed metadata. In fact, it treated it as a lookup field (because of the inheritance), which basically broke it completely.
When we got the request to support managed metadata field type, we started checking the possibilities. First we investigated the option of treating it as a lookup field. But apparently that would have required us to retrieve the IDs using SharePoint Server 2010-specific object model, introducing a lot of complexity (as we still need to support 2007 as well).
But the solution was actually extremely simple. Just use the field as you would any lookup, basing your query on the display value, not the ID. SharePoint will support any types of queries you can on a text field, such as equals, contains or begins with. So you can even enter just a couple of characters and receive search results!
Something like this works great:
<Where>
<Contains>
<FieldRef Name="ManagedMetadata"/>
<Value Type="TaxonomyFieldType">My Value</Value>
</Contains>
</Where>
So thanks to Microsoft for making it so easy for us!