diff options
author | Dylan William Hardison <dylan@hardison.net> | 2017-07-28 19:37:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-28 19:37:17 +0200 |
commit | dc378846874cca43be0a187d7c38d787395a6538 (patch) | |
tree | dc63faa45c0bd64b3eb26986a09a15895fc8b42b /Bugzilla | |
parent | 078bff5ad35277f31e7db5fe1761e41e1c76d1de (diff) | |
download | bugzilla-dc378846874cca43be0a187d7c38d787395a6538.tar.gz bugzilla-dc378846874cca43be0a187d7c38d787395a6538.tar.xz |
Bug 1383802 - Elasticsearch indexed documents lack an _id based on the object's primary key
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/Comment.pm | 2 | ||||
-rw-r--r-- | Bugzilla/Elastic/Indexer.pm | 2 | ||||
-rw-r--r-- | Bugzilla/Elastic/Role/Object.pm | 6 |
3 files changed, 8 insertions, 2 deletions
diff --git a/Bugzilla/Comment.pm b/Bugzilla/Comment.pm index 23c1d3f85..f9a6f7d3a 100644 --- a/Bugzilla/Comment.pm +++ b/Bugzilla/Comment.pm @@ -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 { diff --git a/Bugzilla/Elastic/Indexer.pm b/Bugzilla/Elastic/Indexer.pm index 36dd1dcb4..a9d796ae7 100644 --- a/Bugzilla/Elastic/Indexer.pm +++ b/Bugzilla/Elastic/Indexer.pm @@ -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), ); diff --git a/Bugzilla/Elastic/Role/Object.pm b/Bugzilla/Elastic/Role/Object.pm index c51948ee9..674545d04 100644 --- a/Bugzilla/Elastic/Role/Object.pm +++ b/Bugzilla/Elastic/Role/Object.pm @@ -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; }; |