Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Как лучше искать по текстовому полю?   Найти похожие ветки 

 
ocean   (2009-04-15 12:49) [0]

Я хочу часто проводить поиск по полю varchar(2500) на вхождению подстроки в любом месте, соответственно нужно максимально ускорить этот поиск. Проиндексировать поле MS SQL не дал, мол максимум 900 символов. Что можно предпринять? Как лучше искать, Locate или SQL select?


 
Sergey13 ©   (2009-04-15 13:03) [1]

> [0] ocean   (15.04.09 12:49)
> Как лучше искать, Locate или SQL select?

Сделай и сравни. Делов то на 10 минут.


 
Кщд   (2009-04-15 13:07) [2]

>ocean   (15.04.09 12:49)  
в случае с произвольной подстрокой индекс бы ничего не дал в плане производительности)


 
Sergey13 ©   (2009-04-15 13:14) [3]

> [0] ocean   (15.04.09 12:49)

А что в этом поле? Как много азписей в таблице? Как часто надо искать?
Возможно неплохим решением будет создать подчиненную таблицу ключевых слов текста для поиска.


 
ocean   (2009-04-15 13:51) [4]

В поле плоский текст. Не знаю как оценить частоту, допустим раз в неск. секунд. С ключевыми словами интересная мысль, но тогда надо придумать, как их вычленять?


 
Ega23 ©   (2009-04-15 13:53) [5]

Можно попробовать FullTextSearch подключить. Но не факт, что это офигенную скорость даст.


 
sniknik ©   (2009-04-15 13:55) [6]

> Возможно неплохим решением будет создать подчиненную таблицу ключевых слов текста для поиска.
в mssql это уже есть, называется полнотекстовый поиск. нужно просто включить, и пользоваться.


 
Ega23 ©   (2009-04-15 14:08) [7]


> в mssql это уже есть, называется полнотекстовый поиск. нужно
> просто включить, и пользоваться.


Тяжелый он очень в MSSQL. К сожалению. И я не нашёл, как его настраивать тонко можно (игрался с MSSQL 2000).


 
ocean   (2009-04-15 14:40) [8]

Прочитал про полнотекстовый поиск, выглядит как то что нужно, но:
"к сожалению в SQL Server изначально не реализована возможность полнотекстового поиска на русском, украинском языках." Это все Кондолиза устроила. Не понял, как включить таблицу в полнотекстовый поиск не из среды MSSQL, а программно. Сейчас погоняю.


 
Anatoly Podgoretsky ©   (2009-04-15 15:23) [9]

> ocean  (15.04.2009 12:49:00)  [0]

К поиску тут относится только Locate


 
Anatoly Podgoretsky ©   (2009-04-15 15:30) [10]

Индексы или полнотекстовый поиск для подстроки, придется строить по всем вариантам поиска!
вариант
ариант
риант
иант
ант

и это только по одному слову, а не по совокупности слов строки.


 
Anatoly Podgoretsky ©   (2009-04-15 15:43) [11]


> К поиску тут относится только Locate

Но и его нельзя применить для поиска подстроки.
Надо отказаться от поиска и заменить выборкой с отбором по подстроке. Медленно, но что делать.


 
stas ©   (2009-04-15 17:09) [12]

ocean   (15.04.09 14:40) [8]
MSSQL 2005 юзай.


 
clickmaker ©   (2009-04-15 17:55) [13]

> к сожалению в SQL Server изначально не реализована возможность
> полнотекстового поиска на русском

реализована (начиная с 2005 точно), но не включена по умолчанию


 
ANB   (2009-04-16 12:11) [14]

А как в оракле такую фичу подключить ?
Я задрался уже запросы распараллеливать ради такой ерунды.
И писать разбивку по словам для нашей базы - очень неоптимально - места уже впритык на сервере.


 
sniknik ©   (2009-04-16 13:03) [15]

> такую фичу подключить ?
> места уже впритык на сервере.
а как ты думаешь эта фича реализована? где она будет хранить разбивку/индексы?


 
Кщд   (2009-04-16 13:08) [16]

>ANB   (16.04.09 12:11) [14]
>А как в оракле такую фичу подключить ?
interMedia


 
Кщд   (2009-04-16 13:11) [17]

>Кщд   (16.04.09 13:08) [16]
если информация структурирована, то нам, например, отлично помог ctx-индекс для поиска по достаточно большому хранилищу XML-документов


 
ANB   (2009-04-16 17:44) [18]


> если информация структурирована

Если бы. Это имя клиента, вбитое как попало.



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.047 c
15-1267560202
TUser
2010-03-02 23:03
2010.08.27
БАК: статус и ожидания


2-1273316321
FIL-23
2010-05-08 14:58
2010.08.27
как добавить поле в индифицирующую колонку


2-1271431396
Nikru
2010-04-16 19:23
2010.08.27
WebBrowser


15-1274955766
Медвежонок Пятачок
2010-05-27 14:22
2010.08.27
три года за смену домашней страницы в браузере


2-1270990762
nikih22
2010-04-11 16:59
2010.08.27
Получить набор байтов с 48 ПИКСЕЛЕЙ