]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 1380408 - elasticsearch user completion should consider people with multiple...
authorDylan William Hardison <dylan@hardison.net>
Mon, 17 Jul 2017 22:20:01 +0000 (18:20 -0400)
committerGitHub <noreply@github.com>
Mon, 17 Jul 2017 22:20:01 +0000 (18:20 -0400)
Bugzilla/Elastic/Indexer.pm
Bugzilla/User.pm

index ab6c5dbfaa528cb1284dd802420bd3a993747a11..46eb8f6483fafcdc6dbc5e83336393919a186370 100644 (file)
@@ -184,6 +184,7 @@ sub bulk_load {
     my $new_ids     = $self->_select_all_ids($class, $last_id);
     my $updated_ids = $self->_select_updated_ids($class, $last_mtime);
 
+    $self->put_mapping($class);
     $self->_bulk_load_ids($bulk, $class, $new_ids) if @$new_ids;
     $self->_bulk_load_ids($bulk, $class, $updated_ids) if @$updated_ids;
 
index a3a78395af92f45e419f0e8f7fa2b8de41f2b0a2..2d7f386400cb9fa06d102f15ed311f1f3aafda97 100644 (file)
@@ -175,21 +175,23 @@ sub ES_PROPERTIES {
 sub es_document {
     my ( $self, $timestamp ) = @_;
     my $doc = {
-        login          => $self->login,
-        name           => $self->name,
-        is_enabled     => $self->is_enabled,
+        login        => $self->login,
+        name         => $self->name,
+        is_enabled   => $self->is_enabled,
         suggest_user => {
             input => [ $self->login, $self->name ],
             output => $self->identity,
             payload => { name => $self->login, real_name => $self->name },
         },
     };
-    if ($self->name && $self->name =~ /:(\w+)/) {
-        my $ircnick = $1;
+    my $name = $self->name;
+    my @nicks = defined($name) ? ( $name =~ /:(\w+)\b/mg ) : ();
+
+    if (@nicks) {
         $doc->{suggest_nick} = {
-            input => [ $ircnick ],
+            input => \@nicks,
             output => $self->login,
-            payload => { name => $self->login, real_name => $self->name, ircnick => $ircnick },
+            payload => { name => $self->login, real_name => $self->name },
         };
     }