RusSanta: это напрямую зависит от того какими средствами реализовывать. Если растр то можно сделать по типу SAS. Planet, а значит подойдет обычный surface (даже без opengl)
Сергей Протько: пока ничего кроме как вынести первое слово шаблона (которое должно быть фиксированным) в поле для LIKE а дальше из подходящих все перебирать по регулярке. А что там на счет построения индекса, в какую сторону "копать"?