|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Timur Sabirzyanov 2:5080/197.197 14 Nov 2000 03:15:39 To : All Subject : search по уму NEED! -------------------------------------------------------------------------------- наваял тут скриптик. учитывая мои поверхностные знания эхотага - маразмов не счесть. поэтому большая просьба - исправьте глупости если не лень. ЗЫ! А ведь почти наверняка я изобретаю велосипед! Причем пятиколесный... Hе сочтите за труд кинуть мне нетмылом нормальный искатель. ЗЫ2! А можно чтоб сие не ругалось при запуске с ключем -w ? #!perl #search engine #запрос - несколько слов через пробелы. типа "driver for modem" найдет #первый и второй документы #индексный файл представляет собой такую ботву: #hardware.txt|modem|ats|port|isa|pci|lpt|cable|transistor #software.txt|util|driver|patch|graphics|word 97|windows 95 #filename.ext|keyword1|keyword2|keyword3|...|keywordN use CGI; $cgi = new CGI; print $cgi->header(-type => 'text/html; charset=Windows1251'); print $cgi->start_html(-title => 'Document Searcher'); open ind,"<search.index" || die "$!"; while(<ind>) { chomp; push @fullindex,$_; } close ind; @search = split (/\s+/,$cgi->param('ss')); foreach $keyword (@search) { foreach $str (@fullindex) { if ($str =~ /$keyword/) { ($a,)=split(/\|/,$str); push @found, $a; } } } %seen = (); foreach $item (@found) { if (exists $seen{$item}) { $seen{$item}++; } else { $seen{$item}=1; } } @found=(); foreach $item (sort { $seen{$a} cmp $seen{$b} } keys %seen) { push @found, $item; } @a = reverse @found; foreach (@a) { print "<a href=\"$_\">$_</a><br>"; } print $cgi->end_html; *Особенно последнее надо переделать. чтоб те ссылки которые в результате* *поиска упоминаются чаще, шли первыми. Оно работает, но реализация - мерзость* WBR, Tim. ... Люблю, когда пиво правильное, вот водка - правильное пиво! --- [ Teams: RammsЕein | M.Manson | KMFDM | C/C++ | Perl | 3DMAX | TSL ] * Origin: All lies lead to the truth (2:5080/197.197) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/47463a105c43.html, оценка из 5, голосов 10
|