Я внедряю полнотекстовые индексы для столбца в моей базе данных SQL Azure, который содержит номера телефонов. Я не получаю ожидаемых результатов при использовании функции CONTAINS.
Это для Azure SQL. Я пытался использовать разные параметры и подстановочные знаки в моем предикате CONTAINS, но все еще ничего.
Я не могу использовать обходной путь, который я видел ранее, где вы сохранили столбец, в котором вы хотите искать, в обратном порядке.
Таблица, из которой запрашивается эта информация, чрезвычайно велика (в дополнение к другим функциям поиска, которые мы используем в системе), что является причиной нашей потребности в этом полнотекстовом индексе
Сначала вот таблица (упрощенно)
CREATE TABLE PhoneNumbers (PhoneNumber NVARCHAR(100))
Далее я сохраняю номер телефона на нем
INSERT INTO PhoneNumber ('491212780579')
Теперь мои пользователи хотят выполнить поиск в поле номера телефона. В этом примере наш пользователь ищет: 1212780579
Для базы данных этот запрос выглядит как:
SELECT * FROM PhoneNumber WHERE CONTAINS(PhoneNumber, '"1212780579"')
Я ожидаю, что в приведенном выше запросе будет возвращен номер телефона 491212780579, сохраненный в таблице, поскольку строка поиска содержится в данных, введенных в этот столбец, однако не возвращается вообще.
Я неправильно использую здесь функцию полнотекстового поиска? Или мне совершенно не повезло?