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

(-)a/misc/search_tools/reindex_patrons.pl (-1 / +60 lines)
Line 0 Link Here
0
- 
1
use Modern::Perl;
2
3
use Koha::Patrons;
4
use Koha::SearchEngine::Elasticsearch;
5
6
use Koha::SearchEngine::Elasticsearch::Indexer;
7
8
my $index_name = "patrons";
9
my $indexer = Koha::SearchEngine::Elasticsearch::Indexer->new( { index => $index_name } );
10
11
$indexer->drop_index;
12
13
my $patrons = Koha::Patrons->search;
14
15
my ( @id_buffer, @commit_buffer );
16
while ( my $patron = $patrons->next ) {
17
    my $id = $patron->borrowernumber;
18
    my $record = $patron->unblessed;
19
    $record->{_id} = $id;
20
    push @id_buffer, $id;
21
    push @commit_buffer, $record;
22
}
23
24
warn "committing";
25
26
if ( !$indexer->store ) {
27
28
    my $params  = $indexer->get_elasticsearch_params();
29
    my $mappings = {
30
        data => {
31
            properties => {
32
                borrowernumber => {
33
                    type => 'string',
34
                    search_analyzer => 'analyser_standard',
35
                    index_analyzer => 'analyser_standard',
36
                },
37
                cardnumber => {
38
                    type => 'string',
39
                    search_analyzer => 'analyser_standard',
40
                    index_analyzer => 'analyser_standard',
41
                },
42
                surname => {
43
                    type => 'string',
44
                    search_analyzer => 'analyser_standard',
45
                    index_analyzer => 'analyser_standard',
46
                },
47
            }
48
        }
49
    };
50
    $indexer->store(
51
        Catmandu::Store::ElasticSearch->new(
52
            %$params,
53
            index_settings => $indexer->get_elasticsearch_settings(),
54
            index_mappings => $mappings,
55
        )
56
    );
57
}
58
59
$indexer->store->bag->add_many(\@commit_buffer);
60
$indexer->store->bag->commit;

Return to bug 17500