Assuming you're using the global search mechanism, a porter stemmer is used which means that the search engine sees all of "house", "houses", "housed", "housing", etc. the same.
The search also biases the results based on recency and things like whether the message has been starred/flagged, whether it was authored by/involves contacts in your address book, etc.
e15ctr0n is right that your best option is to use quotes to do a phrase search of "open house" in this situation, although you will still run afoul of the porter stemmer. (Unfortunately a post-pass filter if you realllly want "house" was never implemented. There is an open bug, however.)
No, I mean, I actually searched for "open house" in quotes. (I tried the terms without quotes as well, but when that first set of results turned up useless I tried the quotes).
The results were literally what I describe, just a random sample of emails from the last few years. I keep using the search hoping I get something useful returned, and even when I do things like put in exact phrases I know are in the message, I get a random pile of junk back.
I should just learn my lesson and stop trying to be honest.
I just did some tests using "Edit > Find > Search Messages" to search (I'm not sure what asutherland means by the "global search mechanism") and based on a few tests searching for "contains" matches on the body text here are my conclusions:
1) If you use quotes, it is looking for the quotes in the text, so I'm surprised you got any matches at all.
2) If you don't use quotes, it is still looking for an exact match (except that it's not case sensitive), so searching for "open house" without quotes should not match unless the words are adjacent to each other.
3) It doesn't seem to pay attention to token boundaries, so a search for "house" (without quotes) matches "warehouse"
So, it is a little unintuitive (and really should have a help button that explains exactly what it does), but it seems to work for me. I don't use IMAP, though, and the comments by qznc about IMAP [1] seem like they may explain why you are seeing what you are seeing if you use IMAP.
Edit: I just noticed e15ctr0n's link to info on the global search -- I don't have that enabled (probably disabled it to save disk space a long time ago) so if that's where you are seeing problems, that explains why I never noticed.
So for fun, I just sent myself an email with the subject "open house" and body "open house" (no quotes).
I then searched for "open house" (with quotes) and got a list back. Sorted by relevance, they return in the following chronological order: 2008, 2012, 2013x7, 2012x23, 2011x12, 2010x12 and on and on. Nothing from 2014 at all, and nothing from 2015 at all.
All of the returns have "open house" (or some variant) in them, quite a few have punctuation or non-alphanumeric characters right next to them, so that's cool. In quite a few "open houses" scores more highly than "open house".
So I filtered down to one mailbox. Now, I get a few from 2014, but no joy on my recent one.
I change the filter to another mailbox. About 10 down (there's only 12 "matching" in this mailbox) I see one of the relevant emails I was looking for earlier, but not the one I explicitly just sent myself.
If I remove all filter constraints and sort by date instead of relevance, the email I just sent shows up at the top, followed by some emails where "open houses" match my query, followed by the earlier email I was looking for.
So it's kinda working if I sort it by date. Sorting by relevance seems to be entirely useless. Sorting by mailbox is kinda useful, but doesn't seem to show most recent.
I dunno, it still seems faster and more accurate to hit each of my mailboxes separately from the web interfaces if I need to search them.
I think qznc might have hit the nail on the head about IMAP and getting weirdly out of sync.
The search also biases the results based on recency and things like whether the message has been starred/flagged, whether it was authored by/involves contacts in your address book, etc.
e15ctr0n is right that your best option is to use quotes to do a phrase search of "open house" in this situation, although you will still run afoul of the porter stemmer. (Unfortunately a post-pass filter if you realllly want "house" was never implemented. There is an open bug, however.)