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