From 84b93d74c74e7e9606ec6958204c1ca04ba44b21 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Mon, 16 Mar 2026 18:18:52 +0100 Subject: [PATCH] refactor: SearchService uses SearchIndex + StatsStore instead of SearchEngine --- .../server/core/search/SearchService.java | 58 ++++++------------- 1 file changed, 19 insertions(+), 39 deletions(-) diff --git a/cameleer3-server-core/src/main/java/com/cameleer3/server/core/search/SearchService.java b/cameleer3-server-core/src/main/java/com/cameleer3/server/core/search/SearchService.java index 263193c2..014c606d 100644 --- a/cameleer3-server-core/src/main/java/com/cameleer3/server/core/search/SearchService.java +++ b/cameleer3-server-core/src/main/java/com/cameleer3/server/core/search/SearchService.java @@ -1,63 +1,43 @@ package com.cameleer3.server.core.search; +import com.cameleer3.server.core.storage.SearchIndex; +import com.cameleer3.server.core.storage.StatsStore; + +import java.time.Instant; import java.util.List; -/** - * Orchestrates search operations, delegating to a {@link SearchEngine} backend. - *
- * This is a plain class (no Spring annotations) -- it lives in the core module
- * and is wired as a bean by the app module configuration. The thin orchestration
- * layer allows adding cross-cutting concerns (logging, caching, metrics) later.
- */
public class SearchService {
- private final SearchEngine engine;
+ private final SearchIndex searchIndex;
+ private final StatsStore statsStore;
- public SearchService(SearchEngine engine) {
- this.engine = engine;
+ public SearchService(SearchIndex searchIndex, StatsStore statsStore) {
+ this.searchIndex = searchIndex;
+ this.statsStore = statsStore;
}
- /**
- * Search for route executions matching the given criteria.
- */
public SearchResult