Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alan Long                            2:5030/1082.72 05 Jul 2004  07:51:36
 To : Serge Chervjakov
 Subject : деревья ?
 -------------------------------------------------------------------------------- 
 
 * Originally from Serge Chervjakov (2:5020/400) to Paul Petruk.
 
  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о технология поиска ведь почти не изменилась.
 
  SC> Создай базу данных, таблицу строк. Каждую строку разбей на слова.
  SC> Добавь слова в другую таблицу, по одной записи на слово.
  SC> Проиндексируй эту таблицу и ищи по ней. Потом по найденому смотри,
  SC> в какой строке у тебя есть все слова. Hо я такого не делал (хотя в
  SC> скором времени предстоит), может это не лучший вариант. Посмотри
  SC> еще в исходниках какого-нить phpbb эту вещь (алгоритм) - там точно
  SC> достаточно быстрый поиск организован, а форумы некоторые содержат
  SC> иногда явно поболе 200 метров...
 
 HУ если заговорили про базы - тогда уж проще раврзится с FullText Search для
 последних mqsql - для подобного рода задачи самое то.
 
 Hу а с grep, можно попробывать так:
 zgrep -e pattern1 -e pattern3 -e pattern3 *gz
 
 Hо все это offtopic, к perl-у не имеющий отношения. 
 
 Хотя можно конечно (и достаточно не сложно) написать индексатор текстоаого файла
 с хранением индексов в dbm хешах. Там всего-то нужно хранить:
 слово => [file1:]offset1, [file2:]offset2
 имена файлов нужны если хочется иметь один индекс-файл на несколько текстовых
 файлов.
 
  SC> ___ ifmail v.2.15dev5.3
  SC>  - Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
 -- 
 With best,
      Ъ-·    Ъ
      Е-ЧLaі\і <alan@x-rays.eu.org>
 
 --- timEd/386 1.10+
  * Origin: X - Rays Station (2:5030/1082.72)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 деревья ?   Paul Petruk   19 Jun 2004 19:06:03 
 Re: деревья ?   Artem Chuprina   29 Jun 2004 12:11:06 
 деревья ?   Paul Petruk   04 Jul 2004 18:23:06 
 деревья ?   Serge Chervjakov   04 Jul 2004 23:45:57 
 деревья ?   Alan Long   05 Jul 2004 07:51:36 
 деревья ?   Paul Petruk   01 Aug 2004 03:38:09 
 деревья ?   Justin Finch-Fletchley   01 Aug 2004 13:28:00 
 Re: деревья ?   Andrew Alakozow   29 Jun 2004 12:16:42 
Архивное /ru.perl/45810e8cfaa1.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional