Annotation of db/prgsrc/mkRS.pl, revision 1.2
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:
! 35: use locale;
! 36: use DBI;
! 37: use POSIX qw (locale_h);
! 38: use chgkfiles;
! 39: use dbchgk;
! 40: my $minstop=2000;
! 41: open (STDERR,">errors");
! 42: do "common.pl";
! 43: do "chgk.cnf";
! 44:
! 45: die "Undefined \$maxwsize! check your chgk.cnf" unless $maxwsize;
! 46:
! 47: checktable('word2question','delete');
! 48:
! 49: checktable('nests','delete');
! 50:
! 51: checktable('nf','delete');
! 52:
! 53:
! 54: print "Creating word2question table...\n";
! 55:
! 56: mydo("CREATE TABLE word2question (
! 57: id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
! 58: KEY idkey (id),
! 59: word INT UNSIGNED NOT NULL,
! 60: KEY wordkey (word),
! 61: questions MEDIUMBLOB
! 62: )"
! 63: )
! 64:
! 65: or die "Can't create WORD2QUESTION table: $!\n";
! 66:
! 67: print "Creating nests table...\n";
! 68:
! 69: mydo("CREATE TABLE nests (
! 70: id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
! 71: KEY idkey (id),
! 72: w1 CHAR($maxwsize) BINARY NOT NULL,
! 73: KEY w1key (w1),
! 74: w2 INT UNSIGNED NOT NULL,
! 75: KEY w2key (w2)
! 76: )")
! 77:
! 78: or die "Can't create NESTS table: $!\n";
! 79:
! 80:
! 81:
! 82:
! 83: print "Creating nf table...\n";
! 84:
! 85:
! 86: mydo("CREATE TABLE nf (
! 87: id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
! 88: KEY idkey (id),
! 89: word CHAR(30) BINARY NOT NULL,
! 90: KEY wordkey (word),
! 91: flag CHAR(5),
! 92: number INT UNSIGNED
! 93: )") or die "Can't create NF table: $!\n";
! 94:
! 95:
! 96: mydo("UPDATE Questions SET ProcessedBySearch=NULL");
! 97:
! 98:
! 99:
! 100:
! 101:
! 102:
! 103:
! 104:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>