From a06d20a479cf269747267d47f008507417120977 Mon Sep 17 00:00:00 2001 From: Eike Kettner Date: Sat, 1 Aug 2020 15:44:31 +0200 Subject: [PATCH] Remove duplicate results from index-only search --- .../src/main/scala/docspell/backend/ops/OFulltext.scala | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/backend/src/main/scala/docspell/backend/ops/OFulltext.scala b/modules/backend/src/main/scala/docspell/backend/ops/OFulltext.scala index 1f88d740..bd1d7622 100644 --- a/modules/backend/src/main/scala/docspell/backend/ops/OFulltext.scala +++ b/modules/backend/src/main/scala/docspell/backend/ops/OFulltext.scala @@ -110,7 +110,11 @@ object OFulltext { folders <- store.transact(QFolder.getMemberFolders(account)) ftsR <- fts.search(fq.withFolders(folders)) ftsItems = ftsR.results.groupBy(_.itemId) - select = ftsR.results.map(r => QItem.SelectedItem(r.itemId, r.score)).toSet + select = + ftsItems.values + .map(_.sortBy(-_.score).head) + .map(r => QItem.SelectedItem(r.itemId, r.score)) + .toSet itemsWithTags <- store .transact(