Proposed way of implmementation is through a new BoundaryMatchTokenFilter which behaves like this:
On the index side it inserts special unique tokens at beginning and end of field. These could be some weird unicode sequence.
On the query side, it looks for the first character matching "^" or the last character matching "$" and replaces them with the special tokens.

Sometimes you need to specify that a query should match only at the start or end of a field, or be an exact match.

We should have a query syntax for boundary match, preferably on a lowest possible level such as the "lucene" query parser.