View | Details | Raw Unified | Return to bug 22826
Collapse All | Expand All

(-)a/misc/search_tools/rebuild_elasticsearch.pl (-13 / +17 lines)
Lines 61-68 specifying neither and so both get indexed. Link Here
61
=item B<-bn|--bnumber>
61
=item B<-bn|--bnumber>
62
62
63
Only index the supplied biblionumber, mostly for testing purposes. May be
63
Only index the supplied biblionumber, mostly for testing purposes. May be
64
repeated. This also applies to authorities via authid, so if you're using it,
64
repeated.
65
you probably only want to do one or the other at a time.
65
66
=item B<-ai|--authid>
67
68
Only index the supplied authority id, mostly for testing purposes. May be
69
repeated.
66
70
67
=item B<-p|--processes>
71
=item B<-p|--processes>
68
72
Lines 104-110 my $verbose = 0; Link Here
104
my $commit = 5000;
108
my $commit = 5000;
105
my ($delete, $help, $man, $processes);
109
my ($delete, $help, $man, $processes);
106
my ($index_biblios, $index_authorities);
110
my ($index_biblios, $index_authorities);
107
my (@record_numbers);
111
my (@biblionumbers,@authids);
108
112
109
$|=1; # flushes output
113
$|=1; # flushes output
110
114
Lines 113-119 GetOptions( Link Here
113
    'd|delete'      => \$delete,
117
    'd|delete'      => \$delete,
114
    'a|authorities' => \$index_authorities,
118
    'a|authorities' => \$index_authorities,
115
    'b|biblios'     => \$index_biblios,
119
    'b|biblios'     => \$index_biblios,
116
    'bn|bnumber=i'  => \@record_numbers,
120
    'bn|bnumber=i' => \@biblionumbers,
121
    'ai|authid=i'  => \@authids,
117
    'p|processes=i' => \$processes,
122
    'p|processes=i' => \$processes,
118
    'v|verbose+'    => \$verbose,
123
    'v|verbose+'    => \$verbose,
119
    'h|help'        => \$help,
124
    'h|help'        => \$help,
Lines 125-132 unless ($index_authorities || $index_biblios) { Link Here
125
    $index_authorities = $index_biblios = 1;
130
    $index_authorities = $index_biblios = 1;
126
}
131
}
127
132
128
if ($processes && @record_numbers) {
133
if ($processes && ( @biblionumbers || @authids) ) {
129
    die "Argument p|processes cannot be combined with bn|bnumber";
134
    die "Argument p|processes cannot be combined with bn|bnumber or ai|authid";
130
}
135
}
131
136
132
pod2usage(1) if $help;
137
pod2usage(1) if $help;
Lines 162-170 if ($slice_count > 1) { Link Here
162
my $next;
167
my $next;
163
if ($index_biblios) {
168
if ($index_biblios) {
164
    _log(1, "Indexing biblios\n");
169
    _log(1, "Indexing biblios\n");
165
    if (@record_numbers) {
170
    if (@biblionumbers) {
166
        $next = sub {
171
        $next = sub {
167
            my $r = shift @record_numbers;
172
            my $r = shift @biblionumbers;
168
            return () unless defined $r;
173
            return () unless defined $r;
169
            return ($r, Koha::BiblioUtils->get_from_biblionumber($r, item_data => 1 ));
174
            return ($r, Koha::BiblioUtils->get_from_biblionumber($r, item_data => 1 ));
170
        };
175
        };
Lines 178-189 if ($index_biblios) { Link Here
178
}
183
}
179
if ($index_authorities) {
184
if ($index_authorities) {
180
    _log(1, "Indexing authorities\n");
185
    _log(1, "Indexing authorities\n");
181
    if (@record_numbers) {
186
    if (@authids) {
182
        $next = sub {
187
        $next = sub {
183
            my $r = shift @record_numbers;
188
            my $r = shift @authids;
184
            return () unless defined $r;
189
            return () unless defined $r;
185
            my $a = Koha::MetadataRecord::Authority->get_from_authid($r);
190
            my $a = Koha::MetadataRecord::Authority->get_from_authid($r);
186
            return ($r, $a->record);
191
            return ($r, $a);
187
        };
192
        };
188
    } else {
193
    } else {
189
        my $records = Koha::MetadataRecord::Authority->get_all_authorities_iterator(%iterator_options);
194
        my $records = Koha::MetadataRecord::Authority->get_all_authorities_iterator(%iterator_options);
Lines 248-254 sub _do_reindex { Link Here
248
    my $commit_count = $commit;
253
    my $commit_count = $commit;
249
    my ( @id_buffer, @commit_buffer );
254
    my ( @id_buffer, @commit_buffer );
250
    while ( my $record = $next->() ) {
255
    while ( my $record = $next->() ) {
251
        my $id     = $record->id;
256
        my $id     = $record->id // $record->authid;
252
        my $record = $record->record;
257
        my $record = $record->record;
253
        $count++;
258
        $count++;
254
        if ( $verbose == 1 ) {
259
        if ( $verbose == 1 ) {
255
- 

Return to bug 22826