diff --git a/cameleer3-server-app/src/main/java/com/cameleer3/server/app/search/ClickHouseSearchIndex.java b/cameleer3-server-app/src/main/java/com/cameleer3/server/app/search/ClickHouseSearchIndex.java index 4311235e..e1e33004 100644 --- a/cameleer3-server-app/src/main/java/com/cameleer3/server/app/search/ClickHouseSearchIndex.java +++ b/cameleer3-server-app/src/main/java/com/cameleer3/server/app/search/ClickHouseSearchIndex.java @@ -179,14 +179,18 @@ public class ClickHouseSearchIndex implements SearchIndex { params.add(request.durationMax()); } - // Global full-text search: execution-level _search_text OR processor-level _search_text + // Global full-text search: ID fields, execution-level _search_text, OR processor-level _search_text if (request.text() != null && !request.text().isBlank()) { String likeTerm = "%" + escapeLike(request.text()) + "%"; - conditions.add("(_search_text LIKE ? OR execution_id IN (" + conditions.add("(execution_id LIKE ? OR correlation_id LIKE ? OR exchange_id LIKE ?" + + " OR _search_text LIKE ? OR execution_id IN (" + "SELECT DISTINCT execution_id FROM processor_executions " + "WHERE tenant_id = 'default' AND _search_text LIKE ?))"); params.add(likeTerm); params.add(likeTerm); + params.add(likeTerm); + params.add(likeTerm); + params.add(likeTerm); } // Scoped body search in processor_executions diff --git a/cameleer3-server-app/src/main/resources/clickhouse/V2__executions.sql b/cameleer3-server-app/src/main/resources/clickhouse/V2__executions.sql index 99e5b3f2..d9250c8a 100644 --- a/cameleer3-server-app/src/main/resources/clickhouse/V2__executions.sql +++ b/cameleer3-server-app/src/main/resources/clickhouse/V2__executions.sql @@ -30,7 +30,8 @@ CREATE TABLE IF NOT EXISTS executions ( is_replay Bool DEFAULT false, _search_text String MATERIALIZED - concat(error_message, ' ', error_stacktrace, ' ', attributes, + concat(execution_id, ' ', correlation_id, ' ', exchange_id, ' ', route_id, + ' ', error_message, ' ', error_stacktrace, ' ', attributes, ' ', input_body, ' ', output_body, ' ', input_headers, ' ', output_headers, ' ', root_cause_message),