Я хотел бы знать, как исключить апострофы из индексации при полнотекстовом поиске.
Например, если кто-то вводит поисковый запрос «o'brien» или «obrien», я бы хотел, чтобы он совпадал со всеми случаями, когда чье-либо имя совпадает с «O'Brien» или «OBrien».
Однако, если я ищу:
select * from MyTable where contains (fullName, '"o''Brien*"')
Возвращает только апострофы.
Но если я сделаю:
select * from MyTable where contains (fullName, '"oBrien*"')
Возвращает только те, у кого нет апострофа.
Короче говоря, я хочу знать, возможно ли для FTS индексировать и "O'Brien", и "OBrien" как "obrien", чтобы я мог найти оба.
Пока решение:
select * from MyTable where contains (fullName, '"oBrien*" OR "o''Brien*"')
будет работать, однако я не могу сделать такое предположение, если пользователь введет «obrien».
Я ищу решение, которое работает как на SQL Server 2005, так и 2008.