summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Elastic
diff options
context:
space:
mode:
authorDylan William Hardison <dylan@hardison.net>2017-07-28 19:37:17 +0200
committerGitHub <noreply@github.com>2017-07-28 19:37:17 +0200
commitdc378846874cca43be0a187d7c38d787395a6538 (patch)
treedc63faa45c0bd64b3eb26986a09a15895fc8b42b /Bugzilla/Elastic
parent078bff5ad35277f31e7db5fe1761e41e1c76d1de (diff)
downloadbugzilla-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/Elastic')
-rw-r--r--Bugzilla/Elastic/Indexer.pm2
-rw-r--r--Bugzilla/Elastic/Role/Object.pm6
2 files changed, 7 insertions, 1 deletions
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;
};