поведение вы описали, является следствием использования системного списка игнорируемых слов правильно. Это ожидаемое поведение. «Me» - это стоп-слово, которое существует в списке остановок системы. Список системных столов, используемый по умолчанию процессом индексирования данных.
Вы можете проверить себя с помощью этого сценария:
select * from sys.dm_fts_parser('"KA-ME"', 1033, 0, 0)
Третий параметр здесь идентификатор списка стоп-слов. Когда вы передаете NULL, при разборе не идентифицируются стоп-слова, и вы видите «ME» типа «Точное совпадение». Когда вы передаете 0 в качестве третьего параметра, используется список системных столов, а «ME» будет иметь тип «Шумное слово». Это означает, что SQL Server не сохранит его в индексе FTS для поиска.
Как упоминал Райхан, вы можете отключить список системных столов, но, как и для меня, полностью отключить стоп-слова - это слишком большой молот, особенно для базы данных Azure SQL, потому что вы должны заплатить за дополнительное пространство (индексы FTS хранятся в одна и та же база данных во внутренних таблицах). Создание нового (меньшего) списка заметок и использование его для FTS может быть лучшим решением.
спасибо, отличный ответ! –