]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 1383802 - Elasticsearch indexed documents lack an _id based on the object's prima...
authorDylan William Hardison <dylan@hardison.net>
Fri, 28 Jul 2017 17:37:17 +0000 (10:37 -0700)
committerGitHub <noreply@github.com>
Fri, 28 Jul 2017 17:37:17 +0000 (10:37 -0700)
Bugzilla/Comment.pm
Bugzilla/Elastic/Indexer.pm
Bugzilla/Elastic/Role/Object.pm

index 23c1d3f85c2cd40fd80cbf45eb74f38160c3eea0..f9a6f7d3a948717ff7171a50f1e7dc2cdc87380d 100644 (file)
@@ -119,7 +119,7 @@ sub ES_SELECT_UPDATED_SQL {
 sub es_parent_id {
     my ($self) = @_;
 
-    return $self->bug_id,
+    return $self->ES_PARENT_CLASS->ES_TYPE . '_' . $self->bug_id,
 }
 
 sub es_document {
index 36dd1dcb455a4f2b47377060b4460336cc23ba63..a9d796ae7c86ffa20d68741933624675437d049c 100644 (file)
@@ -194,7 +194,7 @@ sub _bulk_load_ids {
         my $objects = $class->new_from_list(\@ids);
         foreach my $object (@$objects) {
             my %doc = (
-                id     => $object->id,
+                id     => $object->es_id,
                 source => scalar $object->es_document($mtime),
             );
 
index c51948ee9de09bf9421fa70644af0c6178afcf28..674545d043f9c4cb6cd7575ff64f2a92032e874b 100644 (file)
@@ -25,6 +25,11 @@ sub ES_SELECT_ALL_SQL {
 
 requires qw(ES_SELECT_UPDATED_SQL);
 
+sub es_id {
+    my ($self) = @_;
+    return join('_', $self->ES_TYPE, $self->id);
+}
+
 around 'ES_PROPERTIES' => sub {
     my $orig = shift;
     my $self = shift;
@@ -41,6 +46,7 @@ around 'es_document' => sub {
 
     $doc->{es_mtime} = $mtime;
     $doc->{$self->ID_FIELD} = $self->id;
+    $doc->{_id} = $self->es_id;
 
     return $doc;
 };