Полнотекстовый поиск SQL Server не находит мои строки

У меня есть таблица SQL Server, и я пытаюсь понять смысл полнотекстового поиска: -)

Я настроил полнотекстовый поиск каталог и полнотекстовый индекс в таблице Entry , которая содержит среди других столбцов столбец VARCHAR (20) с именем VPN-ID .

Существует около 200000 строк в этой таблице, а столбец VPN-ID имеет такие значения, как:

VPN-000-359-90
VPN-000-363-85
VPN-000-362-07
VPN-000-362-91
VPN-000-355-55
VPN-000-368-36
VPN-000-356-90

Теперь я пытаюсь найти строки в этой таблице с помощью полнотекстового поиска.

Когда я выполняю

SELECT (list of columns)
FROM dbo.Entry
WHERE CONTAINS(*, 'VPN-000-362-07')

, все в порядке и мои строки возвращаются.

Когда я начинаю поиск с подстановочным знаком, подобным этому:

SELECT (list of columns)
FROM dbo.Entry
WHERE CONTAINS(*, 'VPN-000-362-%')

Я получаю результаты, и все в порядке.

ОДНАКО: когда я ищу вот так:

SELECT (list of columns)
FROM dbo.Entry
WHERE CONTAINS(*, 'VPN-000-36%')

внезапно я не получаю никаких результатов ..... хотя есть явно строк, которые соответствуют этим критериям поиска ...

Есть идеи, почему ?? Какие еще «сюрпризы» могут поджидать меня полнотекстовый поиск? : -)

Обновление: для создания моего полнотекстового каталога, который я использовал:

CREATE FULLTEXT CATALOG MyCatalog WITH ACCENT_SENSITIVITY = OFF

и для создания полнотекстового индекса в моей таблице, я использовал

CREATE FULLTEXT INDEX 
ON dbo.Entry(list of columns)
KEY INDEX PK_Entry

Я старался избегать любых "чудаковатых" опций, насколько я может.

Обновление №2: после небольшого дополнительного исследования, похоже, что полнотекстовый поиск SQL Server каким-то образом интерпретирует мои тире внутри строк как разделители ....

Хотя этот запрос ничего не возвращает:

SELECT (list of columns)
FROM dbo.Entry
WHERE CONTAINS(*, '"VPN-000-362*"')

этот возвращает (разделение поискового запроса на тире):

SELECT (list of columns)
FROM dbo.Entry
WHERE CONTAINS(*, ' "VPN" AND "000" AND "362*"')

ОК - кажется немного странным, что тире приводит к разделению, которое почему-то не работа .....

10
задан marc_s 18 April 2011 в 09:21
поделиться