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