diff --git a/montysolr/src/main/java/org/apache/solr/search/AqpAdsabsQParser.java b/montysolr/src/main/java/org/apache/solr/search/AqpAdsabsQParser.java index 8f00ad06e..0c5c7aedb 100644 --- a/montysolr/src/main/java/org/apache/solr/search/AqpAdsabsQParser.java +++ b/montysolr/src/main/java/org/apache/solr/search/AqpAdsabsQParser.java @@ -27,7 +27,9 @@ import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.util.NamedList; import org.apache.solr.request.SolrQueryRequest; +import org.apache.solr.schema.FieldType; import org.apache.solr.schema.IndexSchema; +import org.apache.solr.schema.SchemaField; import org.apache.solr.util.DateMathParser; import org.apache.solr.util.SolrPluginUtils; import org.slf4j.Logger; @@ -242,6 +244,14 @@ public AqpAdsabsQParser(AqpQueryParser parser, String qstr, SolrParams localPara } } + req.getSchema().getFields().forEach((fieldName, schemaField) -> { + switch (schemaField.getType().getNumberType()) { + case FLOAT, DOUBLE -> ncm.put(fieldName, new PointsConfig(new MaxNumberFormat(Float.MAX_VALUE), Float.class)); + case INTEGER, LONG -> ncm.put(fieldName, new PointsConfig(new MaxNumberFormat(Integer.MAX_VALUE), Integer.class)); + case null, default -> {} + } + }); + config.get(AqpAdsabsQueryConfigHandler.ConfigurationKeys.VIRTUAL_FIELDS).putAll(defaultConfig.virtualFields); if (params.get("aqp.allow.leading_wildcard", null) != null) {