diff --git a/cameleer3-server-core/src/main/java/com/cameleer3/server/core/search/SearchRequest.java b/cameleer3-server-core/src/main/java/com/cameleer3/server/core/search/SearchRequest.java index ec1a80fb..f2c73a6b 100644 --- a/cameleer3-server-core/src/main/java/com/cameleer3/server/core/search/SearchRequest.java +++ b/cameleer3-server-core/src/main/java/com/cameleer3/server/core/search/SearchRequest.java @@ -59,16 +59,17 @@ public record SearchRequest( "durationMs", "executionId", "applicationName" ); - /** Maps camelCase API sort field names to snake_case OpenSearch/DB column names. */ + /** Maps camelCase API sort field names to OpenSearch field names. + * Text fields use .keyword subfield; date/numeric fields are used directly. */ private static final java.util.Map SORT_FIELD_TO_COLUMN = java.util.Map.ofEntries( java.util.Map.entry("startTime", "start_time"), - java.util.Map.entry("status", "status"), - java.util.Map.entry("agentId", "agent_id"), - java.util.Map.entry("routeId", "route_id"), - java.util.Map.entry("correlationId", "correlation_id"), java.util.Map.entry("durationMs", "duration_ms"), - java.util.Map.entry("executionId", "execution_id"), - java.util.Map.entry("applicationName", "application_name") + java.util.Map.entry("status", "status.keyword"), + java.util.Map.entry("agentId", "agent_id.keyword"), + java.util.Map.entry("routeId", "route_id.keyword"), + java.util.Map.entry("correlationId", "correlation_id.keyword"), + java.util.Map.entry("executionId", "execution_id.keyword"), + java.util.Map.entry("applicationName", "application_name.keyword") ); public SearchRequest {