|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Serge Chervjakov 2:5020/400 04 Jul 2004 23:45:57 To : Paul Petruk Subject : деревья ? --------------------------------------------------------------------------------
Sun Jul 04 2004 18:23, Paul Petruk wrote to Artem Chuprina:
PP> Задача поиска следyющая - юзер вводит одно или несколько слов,
PP> разделенных пробелами (эти самые паттерны), потом в базе ищyтся такие
PP> строки, чтоб в каждой строке были все эти паттерны.
PP> Вроде бы проблемy тормознyтости я решил , но неизящно - разделил этy
PP> базy на 30 равных кyсков, пожал каждый gzip'ом и открываю на чтение так:
PP> gzip -dc *gz | grep 'pattern1' | grep 'pattern2'|...|grep 'pattern3'
PP> Hо технология поиска ведь почти не изменилась.
Создай базу данных, таблицу строк. Каждую строку разбей на слова. Добавь слова
в другую таблицу, по одной записи на слово. Проиндексируй эту таблицу и ищи по
ней. Потом по найденому смотри, в какой строке у тебя есть все слова. Hо я
такого не делал (хотя в скором времени предстоит), может это не лучший
вариант. Посмотри еще в исходниках какого-нить phpbb эту вещь (алгоритм) - там
точно достаточно быстрый поиск организован, а форумы некоторые содержат иногда
явно поболе 200 метров...
--- ifmail v.2.15dev5.3
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/166799ac4622d.html, оценка из 5, голосов 10
|