From dc378846874cca43be0a187d7c38d787395a6538 Mon Sep 17 00:00:00 2001 From: Dylan William Hardison Date: Fri, 28 Jul 2017 10:37:17 -0700 Subject: Bug 1383802 - Elasticsearch indexed documents lack an _id based on the object's primary key --- Bugzilla/Elastic/Indexer.pm | 2 +- Bugzilla/Elastic/Role/Object.pm | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'Bugzilla/Elastic') 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; }; -- cgit v1.2.3-24-g4f1b