Namazu-win32-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ファイル名でインデックス作成に時間がかかる
- From: 板野 元太郎 <itano@xxxxxxxxxxx>
- Date: Fri, 26 Dec 2003 12:18:41 +0900
- X-ml-name: namazu-win32-users-ja
- X-mail-count: 01984
板野と申します。
花井さんの作られた、filename.pl でインデックスを作成しています。
動作そのものは正常でファイル名で検索出来るのですが、
インデックス作成時、目的のファイル容量が大きいと
インデックス作成に時間が掛かっています。
主に図面ファイルのインデックスを作成しているので
一ファイルで5MBから15MBの容量のファイルが多数あります。
ファイル容量の小さいファイル(100KB程度)なら
インデックス作成は高速に処理されます。
大きなファイルのファイル名をインデックス作成時間を
短くする方法があればご教授下さい。
----filename.plここから----
package filenamedwg;
use strict;
use File::Copy;
require 'util.pl';
require 'gfilter.pl';
sub mediatype() {
return qw(
application/dwgfilenameonly
);
}
sub status() {
return 'yes';
}
sub recursive() {
return 0;
}
sub pre_codeconv() {
return 0;
}
sub post_codeconv () {
return 0;
}
sub add_magic ($) {
my ($magic) = @_;
$magic->addFileExts('\\.dwg$', 'application/dwgfilenameonly');
return;
}
sub filter ($$$$$) {
my ($orig_cfile, $cont, $weighted_str, $headings, $fields)
= @_;
my $cfile = defined $orig_cfile ? $$orig_cfile : '';
my $tmpfile = util::tmpnam('NMZ.filename');
open (OUT,">$tmpfile") || return "file open error";
print OUT ("$cfile\n");
close (OUT);
{
my $fh = util::efopen("< $tmpfile");
$$cont = util::readfile($fh);
}
unlink($tmpfile);
gfilter::line_adjust_filter($cont);
gfilter::line_adjust_filter($weighted_str);
gfilter::white_space_adjust_filter($cont);
$fields->{'title'} = gfilter::filename_to_title($cfile, $weighted_str);
gfilter::show_filter_debug_info($cont, $weighted_str,
$fields, $headings);
return undef;
}
1;
----filename.plここまで----
動作環境:
Namazu: 2.0.12
Perl: 5.006001
Windows2000ProSP3
CPU:Pen4 2G RAM:1GB
AN HTTPD Ver1.42h