File:  [Local Repository] / db / prgsrc / mkRS.pl
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Wed Oct 31 03:00:10 2001 UTC (22 years, 6 months ago) by boris
Branches: MAIN
CVS tags: HEAD
Adding Roma 7's files

    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>