IgnoreCase in MatchWithQueryString
Store all tags in lower case in SearchDictionary
Only construct special query string once
Only do fallback search when special characters are present