From 264ebef46e6154a9a288f4341bb0a28dd524b781 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Thu, 29 Dec 2022 21:34:45 +0800 Subject: [PATCH] Fix not setting labels to the correct highlight in a page --- packages/api/src/elastic/highlights.ts | 2 +- packages/api/src/elastic/labels.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/api/src/elastic/highlights.ts b/packages/api/src/elastic/highlights.ts index 5fb5e568d..19564c80e 100644 --- a/packages/api/src/elastic/highlights.ts +++ b/packages/api/src/elastic/highlights.ts @@ -70,7 +70,7 @@ export const getHighlightById = async ( nested: { path: 'highlights', query: { - match: { + term: { 'highlights.id': id, }, }, diff --git a/packages/api/src/elastic/labels.ts b/packages/api/src/elastic/labels.ts index d5f931553..b7e8f4e4f 100644 --- a/packages/api/src/elastic/labels.ts +++ b/packages/api/src/elastic/labels.ts @@ -260,10 +260,11 @@ export const setLabelsForHighlight = async ( index: INDEX_ALIAS, body: { script: { - source: `ctx._source.highlights[0].labels = params.labels; + source: `ctx._source.highlights.stream().filter(h -> params.highlightId.equals(h.id)).findAny().orElse(null).labels = params.labels; ctx._source.updatedAt = params.updatedAt`, lang: 'painless', params: { + highlightId, labels: labels, updatedAt: new Date(), },