Lines 206-211
if ($slice_index == 0) {
Link Here
|
206 |
} |
206 |
} |
207 |
} |
207 |
} |
208 |
|
208 |
|
|
|
209 |
=head1 INTERNAL METHODS |
210 |
|
209 |
=head2 _verify_index_state |
211 |
=head2 _verify_index_state |
210 |
|
212 |
|
211 |
_verify_index_state($Koha::SearchEngine::Elasticsearch::BIBLIOS_INDEX, 1); |
213 |
_verify_index_state($Koha::SearchEngine::Elasticsearch::BIBLIOS_INDEX, 1); |
Lines 241-246
sub _verify_index_state {
Link Here
|
241 |
_do_reindex($callback, $Koha::SearchEngine::Elasticsearch::BIBLIOS_INDEX); |
243 |
_do_reindex($callback, $Koha::SearchEngine::Elasticsearch::BIBLIOS_INDEX); |
242 |
|
244 |
|
243 |
Does the actual reindexing. $callback is a function that always returns the next record. |
245 |
Does the actual reindexing. $callback is a function that always returns the next record. |
|
|
246 |
For each index we iterate through the records, committing at specified count |
244 |
|
247 |
|
245 |
=cut |
248 |
=cut |
246 |
|
249 |
|
Lines 266-272
sub _do_reindex {
Link Here
|
266 |
push @commit_buffer, $record; |
269 |
push @commit_buffer, $record; |
267 |
if ( !( --$commit_count ) ) { |
270 |
if ( !( --$commit_count ) ) { |
268 |
_log( 1, "Committing $commit records...\n" ); |
271 |
_log( 1, "Committing $commit records...\n" ); |
269 |
$indexer->update_index( \@id_buffer, \@commit_buffer ); |
272 |
my $response = $indexer->update_index( \@id_buffer, \@commit_buffer ); |
|
|
273 |
_handle_response($response); |
270 |
$commit_count = $commit; |
274 |
$commit_count = $commit; |
271 |
@id_buffer = (); |
275 |
@id_buffer = (); |
272 |
@commit_buffer = (); |
276 |
@commit_buffer = (); |
Lines 276-282
sub _do_reindex {
Link Here
|
276 |
|
280 |
|
277 |
# There are probably uncommitted records |
281 |
# There are probably uncommitted records |
278 |
_log( 1, "Committing final records...\n" ); |
282 |
_log( 1, "Committing final records...\n" ); |
279 |
$indexer->update_index( \@id_buffer, \@commit_buffer ); |
283 |
my $response = $indexer->update_index( \@id_buffer, \@commit_buffer ); |
|
|
284 |
_handle_response($response); |
280 |
_log( 1, "Total $count records indexed\n" ); |
285 |
_log( 1, "Total $count records indexed\n" ); |
281 |
} |
286 |
} |
282 |
|
287 |
|
Lines 294-299
sub _sanity_check {
Link Here
|
294 |
die "No 'elasticsearch' block is defined in koha-conf.xml.\n" if ( !$conf ); |
299 |
die "No 'elasticsearch' block is defined in koha-conf.xml.\n" if ( !$conf ); |
295 |
} |
300 |
} |
296 |
|
301 |
|
|
|
302 |
=head2 _handle_response |
303 |
|
304 |
Parse the return from update_index and display errors depending on verbosity of the script |
305 |
|
306 |
=cut |
307 |
|
308 |
sub _handle_response { |
309 |
my ($response) = @_; |
310 |
if( $response->{errors} eq 'true' ){ |
311 |
_log( 1, "There were errors during indexing\n" ); |
312 |
if ( $verbose > 1 ){ |
313 |
foreach my $item (@{$response->{items}}){ |
314 |
next unless defined $item->{index}->{error}; |
315 |
print "Record #" . $item->{index}->{_id} . " " . |
316 |
$item->{index}->{error}->{reason} . " (" . $item->{index}->{error}->{type} . ") : " . |
317 |
$item->{index}->{error}->{caused_by}->{type} . " (" . $item->{index}->{error}->{caused_by}->{reason} . ")\n"; |
318 |
} |
319 |
} |
320 |
} |
321 |
} |
322 |
|
297 |
=head2 _log |
323 |
=head2 _log |
298 |
|
324 |
|
299 |
_log($level, "Message\n"); |
325 |
_log($level, "Message\n"); |
300 |
- |
|
|