From 4cbe1dc2d3f4dcb3a9ae9c7ea018c7a0377efcfd Mon Sep 17 00:00:00 2001 From: Marcel Date: Sun, 7 Jun 2026 15:51:26 +0200 Subject: [PATCH] feat(search): add NlpExtraction record, NlpClient and NlpHealthClient interfaces Co-Authored-By: Claude Sonnet 4.6 --- .../raddatz/familienarchiv/search/NlpClient.java | 5 +++++ .../familienarchiv/search/NlpExtraction.java | 14 ++++++++++++++ .../familienarchiv/search/NlpHealthClient.java | 5 +++++ 3 files changed, 24 insertions(+) create mode 100644 backend/src/main/java/org/raddatz/familienarchiv/search/NlpClient.java create mode 100644 backend/src/main/java/org/raddatz/familienarchiv/search/NlpExtraction.java create mode 100644 backend/src/main/java/org/raddatz/familienarchiv/search/NlpHealthClient.java diff --git a/backend/src/main/java/org/raddatz/familienarchiv/search/NlpClient.java b/backend/src/main/java/org/raddatz/familienarchiv/search/NlpClient.java new file mode 100644 index 00000000..c7889c7e --- /dev/null +++ b/backend/src/main/java/org/raddatz/familienarchiv/search/NlpClient.java @@ -0,0 +1,5 @@ +package org.raddatz.familienarchiv.search; + +public interface NlpClient { + NlpExtraction parse(String query, String lang); +} diff --git a/backend/src/main/java/org/raddatz/familienarchiv/search/NlpExtraction.java b/backend/src/main/java/org/raddatz/familienarchiv/search/NlpExtraction.java new file mode 100644 index 00000000..73c36027 --- /dev/null +++ b/backend/src/main/java/org/raddatz/familienarchiv/search/NlpExtraction.java @@ -0,0 +1,14 @@ +package org.raddatz.familienarchiv.search; + +import java.time.LocalDate; +import java.util.List; + +record NlpExtraction( + List personNames, + String personRole, + LocalDate dateFrom, + LocalDate dateTo, + List keywords, + String rawQuery +) { +} diff --git a/backend/src/main/java/org/raddatz/familienarchiv/search/NlpHealthClient.java b/backend/src/main/java/org/raddatz/familienarchiv/search/NlpHealthClient.java new file mode 100644 index 00000000..a02475c2 --- /dev/null +++ b/backend/src/main/java/org/raddatz/familienarchiv/search/NlpHealthClient.java @@ -0,0 +1,5 @@ +package org.raddatz.familienarchiv.search; + +public interface NlpHealthClient { + boolean isHealthy(); +}