Annotation of db/prgsrc/mkRS.pl, revision 1.9

1.2       boris       1: #!/usr/bin/perl -w
                      2: 
                      3: =head1 NAME
                      4: 
                      5: mkRS.pl - Скрипт для создания таблиц для русского поиска 
                      6: 
                      7: B<$base> информации о вопросах 
                      8: 
                      9: =head1 SYNOPSIS
                     10: 
                     11: mkRS.pl Создаёт таблицы word2question, nf, nests (предварительно 
                     12:         без предупреждения удаляя их) и очищает ProcessedBySearch.
                     13: 
                     14: 
                     15: 
                     16: =head1 DESCRIPTION
                     17: 
                     18: Скрипт ищет в таблице Questions вопросы с нулевым ProcessedBySearch,
                     19: добавляет информацию в таблицы word2question, nests, nf. Поле 
                     20: ProcessedBySearch устанавливается в 1. Обрабатывает 
                     21: Questions_per_cicle*cicles_number вопросов, сбрасывая 
                     22: информацию в базу каждые Questions_per_cicle вопросов.
                     23: Значения по умолчанию:
                     24: Questions_per_cicle=500;
                     25: cicles_number=1.
                     26: 
                     27: 
                     28: =head1 AUTHOR
                     29: 
                     30: Роман Семизаров
                     31: 
                     32: 
                     33: =cut
                     34: 
1.5       boris      35: 
1.2       boris      36: use locale;
                     37: use DBI;
                     38: use POSIX qw (locale_h);
1.3       boris      39: use lib "../lib";
1.2       boris      40: use chgkfiles;
                     41: use dbchgk;
                     42: my $minstop=2000;
1.5       boris      43: 
                     44: my $DUMPDIR = $ENV{DUMPDIR} || "../dump";
                     45: 
                     46: open (STDERR,">$DUMPDIR/errors");
1.4       boris      47: do "common.pl";
                     48: do "chgk.cnf";
1.5       boris      49: 
1.2       boris      50: 
                     51: die "Undefined \$maxwsize! check your chgk.cnf" unless $maxwsize;
                     52: 
1.9     ! roma7      53: #checktable('word2question','delete');
1.2       boris      54: 
1.9     ! roma7      55: #checktable('nests','delete');
1.2       boris      56: 
1.9     ! roma7      57: #checktable('nf','delete');
1.2       boris      58: 
                     59: 
                     60: print "Creating word2question table...\n";
1.9     ! roma7      61:    mydo ("DROP TABLE IF EXISTS word2question");
1.2       boris      62:        mydo("CREATE TABLE word2question (
                     63:                id     INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
                     64:                             KEY idkey (id),
                     65:                word   INT UNSIGNED NOT NULL, 
                     66:                             KEY wordkey (word),
1.7       boris      67:                questions  MEDIUMBLOB
1.8       boris      68:                ) type=MyISAM"
1.2       boris      69:             )
                     70: 
                     71:        or die "Can't create WORD2QUESTION table: $!\n";
                     72: 
                     73: print "Creating nests table...\n";
1.9     ! roma7      74:    mydo ("DROP TABLE IF EXISTS nests");
1.2       boris      75:        mydo("CREATE TABLE nests (
                     76:                id   INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
                     77:                             KEY idkey (id),
1.9     ! roma7      78:                w1   CHAR($maxwsize)  CHARACTER SET koi8r COLLATE koi8r_general_ci  NOT NULL, 
1.2       boris      79:                             KEY w1key (w1),
                     80:                w2   INT UNSIGNED NOT NULL,
                     81:                             KEY w2key (w2)             
1.8       boris      82:        ) type=MyISAM")
1.2       boris      83: 
                     84:        or die "Can't create NESTS table: $!\n";
                     85: 
                     86: 
                     87: 
                     88: 
                     89: print "Creating nf table...\n";
                     90: 
1.9     ! roma7      91:    mydo ("DROP TABLE IF EXISTS nf");
1.2       boris      92: 
                     93: mydo("CREATE TABLE nf (
                     94:                id   INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
                     95:                     KEY idkey (id),
1.9     ! roma7      96:                word CHAR(30) CHARACTER SET koi8r COLLATE koi8r_general_ci NOT NULL, 
1.2       boris      97:                             KEY wordkey (word),
                     98:                flag  CHAR(5),
                     99:                number INT UNSIGNED
1.8       boris     100:   ) type=MyISAM") or die "Can't create NF table: $!\n";
1.2       boris     101: 
                    102: 
                    103: mydo("UPDATE Questions SET ProcessedBySearch=NULL");
                    104: 
                    105: 
                    106: 
                    107: 
                    108: 
                    109: 
                    110: 
                    111: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>