'feed' => 'feed'
);
+my $cache; # for cacheing
+
sub data2xml {
use xmlify;
return $va <=> $vb;
}
- foreach my $field (sort by_order keys %{$config->{indexer}}) {
+ my @sorted_tags;
+ if ($cache->{tags_by_order}->{$type}) {
+ @sorted_tags = @{$cache->{tags_by_order}->{$type}};
+ } else {
+ @sorted_tags = sort by_order keys %{$config->{indexer}};
+ $cache->{tags_by_order}->{$type} = \@sorted_tags;
+ }
+
+ foreach my $field (@sorted_tags) {
$field=x($field);
$field_usage{$field}++;
# filter="name" ; filter this field through
# filter/[name].pm
my $filter = $x->{filter};
- if ($filter) {
+ if ($filter && !$cache->{filter_loaded}->{$filter}) {
require "filter/".$filter.".pm";
+ $cache->{filter_loaded}->{$filter}++;
}
# type="swish" ; field for swish
if ($swish) {