File:  [Local Repository] / db / prgsrc / mkRS.pl
Revision 1.9: download - view: text, annotated - select for diffs - revision graph
Fri Feb 8 22:49:12 2008 UTC (16 years, 2 months ago) by roma7
Branches: MAIN
CVS tags: HEAD
dbxml.php added

#!/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 lib "../lib";
use chgkfiles;
use dbchgk;
my $minstop=2000;

my $DUMPDIR = $ENV{DUMPDIR} || "../dump";

open (STDERR,">$DUMPDIR/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 ("DROP TABLE IF EXISTS word2question");
	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
               ) type=MyISAM"
            )

	or die "Can't create WORD2QUESTION table: $!\n";

print "Creating nests table...\n";
   mydo ("DROP TABLE IF EXISTS nests");
	mydo("CREATE TABLE nests (
		id   INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
                            KEY idkey (id),
		w1   CHAR($maxwsize)  CHARACTER SET koi8r COLLATE koi8r_general_ci  NOT NULL, 
                            KEY w1key (w1),
		w2   INT UNSIGNED NOT NULL,
                            KEY w2key (w2)             
	) type=MyISAM")

	or die "Can't create NESTS table: $!\n";




print "Creating nf table...\n";

   mydo ("DROP TABLE IF EXISTS nf");

mydo("CREATE TABLE nf (
		id   INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
                    KEY idkey (id),
		word CHAR(30) CHARACTER SET koi8r COLLATE koi8r_general_ci NOT NULL, 
                            KEY wordkey (word),
	        flag  CHAR(5),
	        number INT UNSIGNED
  ) type=MyISAM") or die "Can't create NF table: $!\n";


mydo("UPDATE Questions SET ProcessedBySearch=NULL");









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