diff --git a/src/main/java/org/apache/solr/mcp/server/search/SearchResponse.java b/src/main/java/org/apache/solr/mcp/server/search/SearchResponse.java index 3e8d914f..d271db21 100644 --- a/src/main/java/org/apache/solr/mcp/server/search/SearchResponse.java +++ b/src/main/java/org/apache/solr/mcp/server/search/SearchResponse.java @@ -16,6 +16,8 @@ */ package org.apache.solr.mcp.server.search; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; import java.util.List; import java.util.Map; @@ -134,6 +136,13 @@ * @see org.apache.solr.client.solrj.response.QueryResponse * @see org.apache.solr.common.SolrDocumentList */ +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) public record SearchResponse(long numFound, long start, Float maxScore, List> documents, Map> facets) { + + public SearchResponse { + documents = documents != null ? List.copyOf(documents) : List.of(); + facets = facets != null ? Map.copyOf(facets) : Map.of(); + } }