--- db/prgsrc/mkRS.pl 2001/10/31 03:00:10 1.1 +++ db/prgsrc/mkRS.pl 2001/10/31 03:07:27 1.2 @@ -1,106 +1,104 @@ -#!perl -w - -#!/usr/local/bin/perl -w - -=head1 NAME - -mkRS.pl - Скрипт для создания таблиц для русского поиска - -B<$base> информации о вопросах - -=head1 SYNOPSIS - -mkRS.pl Создаёт таблицы word2question, nf, nests (предварительно - без предупреждения удаляя их) и очищает ProcessedBySearch. - - - -=head1 DESCRIPTION - -Скрипт ищет в таблице Questions вопросы с нулевым ProcessedBySearch, -добавляет информацию в таблицы word2question, nests, nf. Поле -ProcessedBySearch устанавливается в 1. Обрабатывает -Questions_per_cicle*cicles_number вопросов, сбрасывая -информацию в базу каждые Questions_per_cicle вопросов. -Значения по умолчанию: -Questions_per_cicle=500; -cicles_number=1. - - -=head1 AUTHOR - -Роман Семизаров - - -=cut - -use locale; -use DBI; -use POSIX qw (locale_h); -use chgkfiles; -use dbchgk; -my $minstop=2000; -open (STDERR,">errors"); -do "common.pl"; -do "chgk.cnf"; - -die "Undefined \$maxwsize! check your chgk.cnf" unless $maxwsize; - -checktable('word2question','delete'); - -checktable('nests','delete'); - -checktable('nf','delete'); - - -print "Creating word2question table...\n"; - - mydo("CREATE TABLE word2question ( - id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, - KEY idkey (id), - word INT UNSIGNED NOT NULL, - KEY wordkey (word), - questions MEDIUMBLOB - )" - ) - - or die "Can't create WORD2QUESTION table: $!\n"; - -print "Creating nests table...\n"; - - mydo("CREATE TABLE nests ( - id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, - KEY idkey (id), - w1 CHAR($maxwsize) BINARY NOT NULL, - KEY w1key (w1), - w2 INT UNSIGNED NOT NULL, - KEY w2key (w2) - )") - - or die "Can't create NESTS table: $!\n"; - - - - -print "Creating nf table...\n"; - - -mydo("CREATE TABLE nf ( - id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, - KEY idkey (id), - word CHAR(30) BINARY NOT NULL, - KEY wordkey (word), - flag CHAR(5), - number INT UNSIGNED - )") or die "Can't create NF table: $!\n"; - - -mydo("UPDATE Questions SET ProcessedBySearch=NULL"); - - - - - - - - +#!/usr/bin/perl -w + +=head1 NAME + +mkRS.pl - Скрипт для создания таблиц для русского поиска + +B<$base> информации о вопросах + +=head1 SYNOPSIS + +mkRS.pl Создаёт таблицы word2question, nf, nests (предварительно + без предупреждения удаляя их) и очищает ProcessedBySearch. + + + +=head1 DESCRIPTION + +Скрипт ищет в таблице Questions вопросы с нулевым ProcessedBySearch, +добавляет информацию в таблицы word2question, nests, nf. Поле +ProcessedBySearch устанавливается в 1. Обрабатывает +Questions_per_cicle*cicles_number вопросов, сбрасывая +информацию в базу каждые Questions_per_cicle вопросов. +Значения по умолчанию: +Questions_per_cicle=500; +cicles_number=1. + + +=head1 AUTHOR + +Роман Семизаров + + +=cut + +use locale; +use DBI; +use POSIX qw (locale_h); +use chgkfiles; +use dbchgk; +my $minstop=2000; +open (STDERR,">errors"); +do "common.pl"; +do "chgk.cnf"; + +die "Undefined \$maxwsize! check your chgk.cnf" unless $maxwsize; + +checktable('word2question','delete'); + +checktable('nests','delete'); + +checktable('nf','delete'); + + +print "Creating word2question table...\n"; + + mydo("CREATE TABLE word2question ( + id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, + KEY idkey (id), + word INT UNSIGNED NOT NULL, + KEY wordkey (word), + questions MEDIUMBLOB + )" + ) + + or die "Can't create WORD2QUESTION table: $!\n"; + +print "Creating nests table...\n"; + + mydo("CREATE TABLE nests ( + id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, + KEY idkey (id), + w1 CHAR($maxwsize) BINARY NOT NULL, + KEY w1key (w1), + w2 INT UNSIGNED NOT NULL, + KEY w2key (w2) + )") + + or die "Can't create NESTS table: $!\n"; + + + + +print "Creating nf table...\n"; + + +mydo("CREATE TABLE nf ( + id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, + KEY idkey (id), + word CHAR(30) BINARY NOT NULL, + KEY wordkey (word), + flag CHAR(5), + number INT UNSIGNED + )") or die "Can't create NF table: $!\n"; + + +mydo("UPDATE Questions SET ProcessedBySearch=NULL"); + + + + + + + +