Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Поиск  (Прочитано 8777 раз)
0 Пользователей и 1 Гость смотрят эту тему.
SeRzzz
Гость
« : 16-10-2004 16:09 » 

Помогите, пожалуйста, ссылками где можно найти инфу по поиску.

Ситуация следущая. К примеру, у меня в базе хранится здровый текст, нужно осущиствить по нему поиск. При простом переборе уходит много времени. Но можно написать какую-нибудь структуру которая будет хранить информацию о положении нужного(искомого) слова, при запросе мы заполняем эту структуру и заносим в базу, со временем база будет пополняться и мы будем искать по базе ....

Вот, что-то написал, читаю и понимаю, что что-то невнятное.. Не умею я объяснять :oops:
Ну думаю ясно какая инфа мне нужна. Помогите, plz
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 16-10-2004 19:54 » 

платформа?
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
SeRzzz
Гость
« Ответ #2 : 17-10-2004 09:30 » 

Windows
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 17-10-2004 14:01 » 

хорошо... Улыбаюсь дальше поехали учиться описывать задачу подробно...

платформа (СУБД)?
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
SeRzzz
Гость
« Ответ #4 : 18-10-2004 05:39 » 

Ладно, будем учится Улыбаюсь

CУБД Cache

Ещё вопросы?
Записан
SeRzzz
Гость
« Ответ #5 : 18-10-2004 05:43 » 

Мне важна не конкретная реализация под какую-либо платформу, а методы/модели/алгоритмы поиска. Вот
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #6 : 18-10-2004 05:57 » 

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

Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 18-10-2004 06:36 » 

просто в SQL Server есть полнотекстовый поиск, поэтому там такую функцию реализовать в пол тыка можно, а вот в Cache - не знаю.

x77, твой метод подразумевает индексирование на этапе вставки и переиндексирование на этапе обновления... где-то я это уже писал... а, 2 года назад писал веб-сервис который сохранял в БД XML и индексировал значения нодов документов, заданных по XPath.

С обычным текстом дела не имел.

Короче говоря, за выигрыш по скорости при поиске нужно платить памятью и временем на индексирование при операциях изменения данных.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #8 : 18-10-2004 07:01 » 

dimka,
Цитата
за выигрыш по скорости при поиске нужно платить памятью и временем на индексирование при операциях изменения данных.
- совершенно справедливо.
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines