MSSQL: Полнотекстовый поиск (Поиск любого вхождения)

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

MSSQL: Полнотекстовый поиск (Поиск любого вхождения)

Сообщение FireFenix » 01.09.2010 (Ср) 17:02

Собсно кручу полнотекстовый поиск в MSSQL...
У меня есть таблица item с полем name AS text с прикрученный полнотекстовым индексом... в name содержится строка ИТЕА745212545_Уголок

Возможно ли в полнотекстовом поиске сделать поиск по символьному шаблону, аналог name LIKE "%ЕА%"?
Т.е. CONTAINS(name, '"ЕА*"') выберет только слова начинающиеся или заканчивающиеся на ЕА, а мне нужно любое вхождение заданной строки, даже если это середина слова
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: MSSQL: Полнотекстовый поиск (Поиск любого вхождения)

Сообщение djalex777 » 05.09.2010 (Вс) 12:10

Может я конечно что-то не понял, но касательно полнотекстового поиска http://www.mysql.ru/docs/man/Fulltext_Search.html

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: MSSQL: Полнотекстовый поиск (Поиск любого вхождения)

Сообщение FireFenix » 05.09.2010 (Вс) 12:19

Это для MySQL...
Но судя по моим поискам - Полнотекстовый поиск не умеет искать частичное содержание символов... Только фитчи для словесного разбора
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: MSSQL: Полнотекстовый поиск (Поиск любого вхождения)

Сообщение djalex777 » 05.09.2010 (Вс) 12:42

FireFenix писал(а):Это для MySQL...
Но судя по моим поискам - Полнотекстовый поиск не умеет искать частичное содержание символов... Только фитчи для словесного разбора

Тончо! Что-то я невнимательно прочитал слово MSSQL (наверное, т.к. я в последнее время работаю только с MySQL он мне везде и мерещится :) ) Извиняюсь. По-поводу MSSQL - похоже что ты прав относительно полнотекстового поиска. Насколько я знаю для посимвольного поиска можешь использовать только LIKE, но он работает медленнее в разы...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: MSSQL: Полнотекстовый поиск (Поиск любого вхождения)

Сообщение Andrey Fedorov » 07.09.2010 (Вт) 21:37

Сделать-то вполне можно и работать будет мгновенно. Если очень нужно, то могу поискать ссылки на статью.
Несколько лет назад одной из лекций MS на данную тему разговор был...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

HandKot
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 28.06.2006 (Ср) 13:34
Откуда: Sergiev Posad

Re: MSSQL: Полнотекстовый поиск (Поиск любого вхождения)

Сообщение HandKot » 08.09.2010 (Ср) 7:16

Andrey Fedorov писал(а):Сделать-то вполне можно и работать будет мгновенно. Если очень нужно, то могу поискать ссылки на статью.
Несколько лет назад одной из лекций MS на данную тему разговор был...

поищите пожалуйста, будет интересно почитать
По моему мнению, использование LIKE да еще с паттерном %something% напрочь убивает надежду на использование индекса и приводит к table scan
I Have Nine Lives You Have One Only
THINK!

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: MSSQL: Полнотекстовый поиск (Поиск любого вхождения)

Сообщение Andrey Fedorov » 08.09.2010 (Ср) 22:22

HandKot писал(а):
Andrey Fedorov писал(а):Сделать-то вполне можно и работать будет мгновенно. Если очень нужно, то могу поискать ссылки на статью.
Несколько лет назад одной из лекций MS на данную тему разговор был...

поищите пожалуйста, будет интересно почитать
По моему мнению, использование LIKE да еще с паттерном %something% напрочь убивает надежду на использование индекса и приводит к table scan


Там другой подход, посложнее - включает создание таблицы для индекса (или даже нескольких - точно не помню). Но за счет этого достигается мгновенный результат на базах любого объема. Так объяснить сложно - постараюсь найти ссылку на статью.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 115

    TopList