This is an automated email from the ASF dual-hosted git repository.

epugh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/main by this push:
     new 1f7e2cc7605 SOLR-17683: Remove CurrencyField (#3212)
1f7e2cc7605 is described below

commit 1f7e2cc76054db78106afbd3f5ac65ca52f2dd92
Author: Eric Pugh <[email protected]>
AuthorDate: Wed Apr 2 10:45:31 2025 +0200

    SOLR-17683: Remove CurrencyField (#3212)
---
 solr/CHANGES.txt                                   |   2 +
 .../solr/handler/component/RangeFacetRequest.java  |   2 +-
 .../java/org/apache/solr/schema/CurrencyField.java | 121 ---------------------
 .../java/org/apache/solr/schema/CurrencyValue.java |   2 +-
 .../apache/solr/schema/ExchangeRateProvider.java   |   2 +-
 .../solr/schema/OpenExchangeRatesOrgProvider.java  |   4 +-
 .../solr/search/facet/FacetRangeProcessor.java     |   2 +-
 .../bad-schema-currency-dynamic-multivalued.xml    |  30 -----
 .../conf/bad-schema-currency-ft-amount-suffix.xml  |  34 ------
 .../bad-schema-currency-ft-bogus-code-in-xml.xml   |  33 ------
 .../bad-schema-currency-ft-bogus-default-code.xml  |  33 ------
 .../conf/bad-schema-currency-ft-code-suffix.xml    |  33 ------
 .../conf/bad-schema-currency-ft-multivalued.xml    |  29 -----
 .../conf/bad-schema-currency-ft-oer-norates.xml    |  32 ------
 .../conf/bad-schema-currency-multivalued.xml       |  30 -----
 .../solr/collection1/conf/schema-sorts.xml         |  10 +-
 .../collection1/conf/schema-vector-catchall.xml    |  29 -----
 .../test-files/solr/collection1/conf/schema.xml    |  13 +--
 .../test-files/solr/collection1/conf/schema12.xml  |   8 +-
 .../test-files/solr/collection1/conf/schema15.xml  |   6 +-
 .../solr/collection1/conf/schema_latest.xml        |   6 +-
 .../org/apache/solr/response/JSONWriterTest.java   |   3 -
 .../org/apache/solr/schema/BadIndexSchemaTest.java |  11 --
 .../apache/solr/schema/CurrencyFieldTypeTest.java  |  14 +--
 .../src/test-files/exampledocs/money.xml           |   2 +-
 .../pages/field-types-included-with-solr.adoc      |   2 -
 .../pages/major-changes-in-solr-10.adoc            |   2 +
 .../test-files/solr/collection1/conf/schema.xml    |   8 --
 28 files changed, 38 insertions(+), 465 deletions(-)

diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index c9973dfbbe2..c62fc85244d 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -115,6 +115,8 @@ Deprecation Removals
 
 * SOLR-17655: Removed deprecated ExternalFileField field type. (Eric Pugh)
 
+* SOLR-17683: Removed deprecated CurrencyField field type. (Eric Pugh)
+
 Dependency Upgrades
 ---------------------
 (No changes)
diff --git 
a/solr/core/src/java/org/apache/solr/handler/component/RangeFacetRequest.java 
b/solr/core/src/java/org/apache/solr/handler/component/RangeFacetRequest.java
index 03b60965d92..eecb97f0086 100644
--- 
a/solr/core/src/java/org/apache/solr/handler/component/RangeFacetRequest.java
+++ 
b/solr/core/src/java/org/apache/solr/handler/component/RangeFacetRequest.java
@@ -805,7 +805,7 @@ public class RangeFacetRequest extends 
FacetComponent.FacetBase {
       if (!(this.field.getType() instanceof CurrencyFieldType)) {
         throw new SolrException(
             SolrException.ErrorCode.BAD_REQUEST,
-            "Cannot perform range faceting over non CurrencyField fields");
+            "Cannot perform range faceting over non CurrencyFieldType fields");
       }
       defaultCurrencyCode = ((CurrencyFieldType) 
this.field.getType()).getDefaultCurrency();
       exchangeRateProvider = ((CurrencyFieldType) 
this.field.getType()).getProvider();
diff --git a/solr/core/src/java/org/apache/solr/schema/CurrencyField.java 
b/solr/core/src/java/org/apache/solr/schema/CurrencyField.java
deleted file mode 100644
index cee593b5708..00000000000
--- a/solr/core/src/java/org/apache/solr/schema/CurrencyField.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.solr.schema;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.lucene.util.ResourceLoaderAware;
-import org.apache.solr.common.SolrException;
-import org.apache.solr.common.SolrException.ErrorCode;
-import org.apache.solr.common.util.CollectionUtil;
-
-/**
- * Field type for support of monetary values.
- *
- * <p>See <a
- * 
href="https://solr.apache.org/guide/solr/latest/indexing-guide/currencies-exchange-rates.html";>https://solr.apache.org/guide/solr/latest/indexing-guide/currencies-exchange-rates.html</a>
- *
- * @deprecated Use {@link CurrencyFieldType}
- */
-@Deprecated
-public class CurrencyField extends CurrencyFieldType implements SchemaAware, 
ResourceLoaderAware {
-  protected static final String FIELD_SUFFIX_AMOUNT_RAW = "_amount_raw";
-  protected static final String FIELD_SUFFIX_CURRENCY = "_currency";
-  protected static final String FIELD_TYPE_AMOUNT_RAW = "amount_raw_type_long";
-  protected static final String FIELD_TYPE_CURRENCY = "currency_type_string";
-  protected static final String PARAM_PRECISION_STEP = "precisionStep";
-  protected static final String DEFAULT_PRECISION_STEP = "0";
-
-  @Override
-  protected void init(IndexSchema schema, Map<String, String> args) {
-
-    // Fail if amountLongSuffix or codeStrSuffix are specified
-    List<String> unknownParams = new ArrayList<>();
-    fieldSuffixAmountRaw = args.get(PARAM_FIELD_SUFFIX_AMOUNT_RAW);
-    if (fieldSuffixAmountRaw != null) {
-      unknownParams.add(PARAM_FIELD_SUFFIX_AMOUNT_RAW);
-    }
-    fieldSuffixCurrency = args.get(PARAM_FIELD_SUFFIX_CURRENCY);
-    if (fieldSuffixCurrency != null) {
-      unknownParams.add(PARAM_FIELD_SUFFIX_CURRENCY);
-    }
-    if (!unknownParams.isEmpty()) {
-      throw new SolrException(ErrorCode.SERVER_ERROR, "Unknown parameter(s): " 
+ unknownParams);
-    }
-
-    String precisionStepString = args.get(PARAM_PRECISION_STEP);
-    if (precisionStepString == null) {
-      precisionStepString = DEFAULT_PRECISION_STEP;
-    } else {
-      args.remove(PARAM_PRECISION_STEP);
-    }
-
-    // NOTE: because we're not using the PluginLoader to register these field 
types, they aren't
-    // "real" field types and never get Schema default properties (based on 
schema.xml's version
-    // attribute) so only the properties explicitly set here (or on the 
SchemaField's we create from
-    // them) are used.
-    //
-    // In theory we should fix this, but since this class is already 
deprecated, we'll leave it
-    // alone to simplify the risk of back-compat break for existing users.
-
-    // Initialize field type for amount
-    fieldTypeAmountRaw = new TrieLongField();
-    fieldTypeAmountRaw.setTypeName(FIELD_TYPE_AMOUNT_RAW);
-    Map<String, String> map = CollectionUtil.newHashMap(1);
-    map.put("precisionStep", precisionStepString);
-    fieldTypeAmountRaw.init(schema, map);
-    fieldSuffixAmountRaw = FIELD_SUFFIX_AMOUNT_RAW;
-
-    // Initialize field type for currency string
-    fieldTypeCurrency = new StrField();
-    fieldTypeCurrency.setTypeName(FIELD_TYPE_CURRENCY);
-    fieldTypeCurrency.init(schema, Collections.emptyMap());
-    fieldSuffixCurrency = FIELD_SUFFIX_CURRENCY;
-
-    super.init(schema, args); // Must be called last so that field types are 
not doubly created
-  }
-
-  private void createDynamicCurrencyField(String suffix, FieldType type) {
-    String name = "*" + POLY_FIELD_SEPARATOR + suffix;
-    Map<String, String> props = new HashMap<>();
-    props.put("indexed", "true");
-    props.put("stored", "false");
-    props.put("multiValued", "false");
-    props.put("omitNorms", "true");
-    props.put("uninvertible", "true");
-    int p = SchemaField.calcProps(name, type, props);
-    schema.registerDynamicFields(SchemaField.create(name, type, p, null));
-  }
-
-  /**
-   * When index schema is informed, add dynamic fields "*____currency" and 
"*____amount_raw".
-   *
-   * <p>{@inheritDoc}
-   *
-   * @param schema {@inheritDoc}
-   */
-  @Override
-  public void inform(IndexSchema schema) {
-    createDynamicCurrencyField(FIELD_SUFFIX_CURRENCY, fieldTypeCurrency);
-    createDynamicCurrencyField(FIELD_SUFFIX_AMOUNT_RAW, fieldTypeAmountRaw);
-    super.inform(schema);
-  }
-}
diff --git a/solr/core/src/java/org/apache/solr/schema/CurrencyValue.java 
b/solr/core/src/java/org/apache/solr/schema/CurrencyValue.java
index 8d2edb735b7..7aba8e7dc89 100644
--- a/solr/core/src/java/org/apache/solr/schema/CurrencyValue.java
+++ b/solr/core/src/java/org/apache/solr/schema/CurrencyValue.java
@@ -65,7 +65,7 @@ public class CurrencyValue implements 
Comparable<CurrencyValue> {
       return null;
     }
 
-    Currency currency = CurrencyField.getCurrency(code);
+    Currency currency = CurrencyFieldType.getCurrency(code);
 
     if (currency == null) {
       throw new SolrException(
diff --git 
a/solr/core/src/java/org/apache/solr/schema/ExchangeRateProvider.java 
b/solr/core/src/java/org/apache/solr/schema/ExchangeRateProvider.java
index 5c6ab871799..e2c4e64d583 100644
--- a/solr/core/src/java/org/apache/solr/schema/ExchangeRateProvider.java
+++ b/solr/core/src/java/org/apache/solr/schema/ExchangeRateProvider.java
@@ -21,7 +21,7 @@ import java.util.Set;
 import org.apache.lucene.util.ResourceLoader;
 import org.apache.solr.common.SolrException;
 
-/** Interface for providing pluggable exchange rate providers to 
@CurrencyField */
+/** Interface for providing pluggable exchange rate providers to {@link 
CurrencyFieldType} */
 public interface ExchangeRateProvider {
   /**
    * Get the exchange rate between the two given currencies
diff --git 
a/solr/core/src/java/org/apache/solr/schema/OpenExchangeRatesOrgProvider.java 
b/solr/core/src/java/org/apache/solr/schema/OpenExchangeRatesOrgProvider.java
index a17dd6fc78b..887287e1a1a 100644
--- 
a/solr/core/src/java/org/apache/solr/schema/OpenExchangeRatesOrgProvider.java
+++ 
b/solr/core/src/java/org/apache/solr/schema/OpenExchangeRatesOrgProvider.java
@@ -35,8 +35,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Exchange Rates Provider for {@link CurrencyField} and {@link 
CurrencyFieldType} capable of
- * fetching &amp; parsing the freely available exchange rates from 
openexchangerates.org
+ * Exchange Rates Provider for {@link CurrencyFieldType} capable of fetching 
&amp; parsing the
+ * freely available exchange rates from openexchangerates.org
  *
  * <p>Configuration Options:
  *
diff --git 
a/solr/core/src/java/org/apache/solr/search/facet/FacetRangeProcessor.java 
b/solr/core/src/java/org/apache/solr/search/facet/FacetRangeProcessor.java
index 554f6f762b3..0192027055b 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/FacetRangeProcessor.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/FacetRangeProcessor.java
@@ -920,7 +920,7 @@ class FacetRangeProcessor extends 
FacetProcessor<FacetRange> {
       if (!(this.field.getType() instanceof CurrencyFieldType)) {
         throw new SolrException(
             SolrException.ErrorCode.BAD_REQUEST,
-            "Cannot perform range faceting over non CurrencyField fields");
+            "Cannot perform range faceting over non CurrencyFieldType fields");
       }
       defaultCurrencyCode = ((CurrencyFieldType) 
this.field.getType()).getDefaultCurrency();
       exchangeRateProvider = ((CurrencyFieldType) 
this.field.getType()).getProvider();
diff --git 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-dynamic-multivalued.xml
 
b/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-dynamic-multivalued.xml
deleted file mode 100644
index 7291b7be759..00000000000
--- 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-dynamic-multivalued.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<schema name="bad-schema-currency-ft-multivalued" version="1.7">
-  <fieldType name="string" class="solr.StrField" multiValued="true"/>
-  <fieldType name="currency" class="solr.CurrencyField" 
currencyConfig="currency.xml" multiValued="false"/>
-
-  <field name="id" type="string" indexed="true" stored="true" 
multiValued="false"/>
-  <!-- BEGIN BAD STUFF: multiValued -->
-  <dynamicField name="*_c" type="currency" indexed="true" stored="true" 
multiValued="true"/>
-  <!-- END BAD STUFF -->
-
-  <uniqueKey>id</uniqueKey>
-
-</schema>
diff --git 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-amount-suffix.xml
 
b/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-amount-suffix.xml
deleted file mode 100644
index c06403e889b..00000000000
--- 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-amount-suffix.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<schema name="bad-schema-currency-ft-amount-suffix" version="1.7">
-  <fieldType name="string" class="solr.StrField" multiValued="true"/>
-  <fieldType name="plong" class="solr.LongPointField" multiValued="false"/>
-  
-  <!-- BEGIN BAD STUFF: amountLongSuffix not allowed -->
-  <fieldType name="currency" class="solr.CurrencyField" amountLongSuffix="_l" 
multiValued="false"/>
-  <!-- END BAD STUFF -->
-
-  <field name="id" type="string" indexed="true" stored="true" 
multiValued="false"/>
-  <field name="money" type="currency" indexed="true" stored="true"/>
-  
-  <dyanmicField name="*_l" type="plong" multiValued="false"/>
-
-  <uniqueKey>id</uniqueKey>
-
-</schema>
diff --git 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-bogus-code-in-xml.xml
 
b/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-bogus-code-in-xml.xml
deleted file mode 100644
index 02b25f8c04c..00000000000
--- 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-bogus-code-in-xml.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<schema name="bad-schema-currency-ft-bogus-code-in-xml" version="1.7">
-  <fieldType name="string" class="solr.StrField" multiValued="true"/>
-  <!-- BEGIN BAD STUFF: bad-currency.xml has bogus code-->
-  <fieldType name="currency"
-             class="solr.CurrencyField"
-             defaultCurrency="USD"
-             currencyConfig="bad-currency.xml"
-             multiValued="false"/>
-
-  <field name="id" type="string" indexed="true" stored="true" 
multiValued="false"/>
-  <field name="money" type="currency" indexed="true" stored="true"/>
-
-  <uniqueKey>id</uniqueKey>
-
-</schema>
diff --git 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-bogus-default-code.xml
 
b/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-bogus-default-code.xml
deleted file mode 100644
index 78d6c1fedd2..00000000000
--- 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-bogus-default-code.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<schema name="bad-schema-currency-ft-bogus-default-code" version="1.7">
-  <fieldType name="string" class="solr.StrField" multiValued="true"/>
-  <!-- BEGIN BAD STUFF: default -->
-  <fieldType name="currency"
-             class="solr.CurrencyField"
-             defaultCurrency="HOSS"
-             currencyConfig="currency.xml"
-             multiValued="false"/>
-
-  <field name="id" type="string" indexed="true" stored="true" 
multiValued="false"/>
-  <field name="money" type="currency" indexed="true" stored="true"/>
-
-  <uniqueKey>id</uniqueKey>
-
-</schema>
diff --git 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-code-suffix.xml
 
b/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-code-suffix.xml
deleted file mode 100644
index 7ff00b55ec9..00000000000
--- 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-code-suffix.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<schema name="bad-schema-currency-ft-code-suffix" version="1.7">
-  <fieldType name="string" class="solr.StrField" multiValued="true"/>
-  
-  <!-- BEGIN BAD STUFF: codeStrSuffix not allowed -->
-  <fieldType name="currency" class="solr.CurrencyField" codeStrSuffix="_s" 
multiValued="false"/>
-  <!-- END BAD STUFF -->
-
-  <field name="id" type="string" indexed="true" stored="true" 
multiValued="false"/>
-  <field name="money" type="currency" indexed="true" stored="true"/>
-  
-  <dyanmicField name="*_s" type="string" multiValued="false"/>
-
-  <uniqueKey>id</uniqueKey>
-
-</schema>
diff --git 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-multivalued.xml
 
b/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-multivalued.xml
deleted file mode 100644
index aaa4a258829..00000000000
--- 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-multivalued.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<schema name="bad-schema-currency-ft-multivalued" version="1.7">
-  <fieldType name="string" class="solr.StrField" multiValued="true"/>
-  <!-- BEGIN BAD STUFF: multiValued -->
-  <fieldType name="currency" class="solr.CurrencyField" 
currencyConfig="currency.xml" multiValued="true"/>
-
-  <field name="id" type="string" indexed="true" stored="true" 
multiValued="false"/>
-  <field name="money" type="currency" indexed="true" stored="true"/>
-
-  <uniqueKey>id</uniqueKey>
-
-</schema>
diff --git 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-oer-norates.xml
 
b/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-oer-norates.xml
deleted file mode 100644
index 5b50a155e3b..00000000000
--- 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-ft-oer-norates.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<schema name="bad-schema-currency-ft-oer-norates" version="1.7">
-  <fieldType name="string" class="solr.StrField" multiValued="true"/>
-  <!-- BEGIN BAD STUFF: no rates-->
-  <fieldType name="currency"
-             class="solr.CurrencyField"
-             providerClass="solr.OpenExchangeRatesOrgProvider"
-             multiValued="false"/>
-
-  <field name="id" type="string" indexed="true" stored="true" 
multiValued="false"/>
-  <field name="money" type="currency" indexed="true" stored="true"/>
-
-  <uniqueKey>id</uniqueKey>
-
-</schema>
diff --git 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-multivalued.xml
 
b/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-multivalued.xml
deleted file mode 100644
index c6d120585ac..00000000000
--- 
a/solr/core/src/test-files/solr/collection1/conf/bad-schema-currency-multivalued.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<schema name="bad-schema-currency-multivalued" version="1.7">
-  <fieldType name="string" class="solr.StrField" multiValued="true"/>
-  <fieldType name="currency" class="solr.CurrencyField" 
currencyConfig="currency.xml"/>
-
-  <field name="id" type="string" indexed="true" stored="true" 
multiValued="false"/>
-  <!-- BEGIN BAD STUFF: multiValued -->
-  <field name="money" type="currency" indexed="true" stored="true" 
multiValued="true"/>
-  <!-- END BAD STUFF -->
-
-  <uniqueKey>id</uniqueKey>
-
-</schema>
diff --git a/solr/core/src/test-files/solr/collection1/conf/schema-sorts.xml 
b/solr/core/src/test-files/solr/collection1/conf/schema-sorts.xml
index 70edcb221c2..01fc7e8792d 100644
--- a/solr/core/src/test-files/solr/collection1/conf/schema-sorts.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/schema-sorts.xml
@@ -117,6 +117,10 @@ NOTE: Tests expect every field in this schema to be 
sortable.
        
https://issues.apache.org/jira/browse/SOLR-5354?focusedCommentId=13835891&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13835891
   -->
   <dynamicField name="*" type="str" multiValued="false"/>
+  
+  <!-- Subfields used with CurrencyFieldType -->
+  <dynamicField name="*_s_ns" type="str" indexed="true" stored="false" />
+  <dynamicField name="*_l_ns" type="long" indexed="true" stored="false"/>
 
   <copyField source="str" dest="str_last"/>
   <copyField source="str" dest="str_first"/>
@@ -264,11 +268,11 @@ NOTE: Tests expect every field in this schema to be 
sortable.
   <fieldType name="uuid_dv_first" class="solr.UUIDField" stored="true" 
indexed="false" docValues="true"
              sortMissingFirst="true"/>
 
-  <fieldType name="currency" class="solr.CurrencyField" stored="true" 
indexed="true" foo="bar"
+  <fieldType name="currency" class="solr.CurrencyFieldType" 
amountLongSuffix="_l_ns" codeStrSuffix="_s_ns" stored="true" indexed="true" 
foo="bar"
              providerClass="solr.MockExchangeRateProvider"/>
-  <fieldType name="currency_last" class="solr.CurrencyField" stored="true" 
indexed="true" foo="bar"
+  <fieldType name="currency_last" class="solr.CurrencyFieldType" 
amountLongSuffix="_l_ns" codeStrSuffix="_s_ns" stored="true" indexed="true" 
foo="bar"
              providerClass="solr.MockExchangeRateProvider" 
sortMissingLast="true"/>
-  <fieldType name="currency_first" class="solr.CurrencyField" stored="true" 
indexed="true" foo="bar"
+  <fieldType name="currency_first" class="solr.CurrencyFieldType" 
amountLongSuffix="_l_ns" codeStrSuffix="_s_ns" stored="true" indexed="true" 
foo="bar"
              providerClass="solr.MockExchangeRateProvider" 
sortMissingFirst="true"/>
 
   <fieldType name="collation_en_primary" class="solr.CollationField" 
language="en" strength="primary" stored="true"
diff --git 
a/solr/core/src/test-files/solr/collection1/conf/schema-vector-catchall.xml 
b/solr/core/src/test-files/solr/collection1/conf/schema-vector-catchall.xml
index 7b69316dbb7..f7031ce3f85 100644
--- a/solr/core/src/test-files/solr/collection1/conf/schema-vector-catchall.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/schema-vector-catchall.xml
@@ -434,27 +434,6 @@
     <fieldType name="tenD" class="solr.PointType" dimension="10" 
subFieldType="double"/>
     <fieldType name="xyd" class="solr.PointType" dimension="2" 
subFieldSuffix="_d1"/>
 
-    <!-- Currency type -->
-    <fieldType name="currency" class="solr.CurrencyField" 
currencyConfig="currency.xml" multiValued="false"/>
-    <fieldType name="mock_currency" class="solr.CurrencyField" 
providerClass="solr.MockExchangeRateProvider" foo="bar"
-               multiValued="false"/>
-    <fieldType name="oer_currency"
-               class="solr.CurrencyField"
-               multiValued="false"
-               providerClass="solr.OpenExchangeRatesOrgProvider"
-               ratesFileLocation="open-exchange-rates.json"/>
-    <fieldType name="currency_CFT" class="solr.CurrencyFieldType" 
amountLongSuffix="_l1_ns" codeStrSuffix="_s1"
-               currencyConfig="currency.xml" multiValued="false"/>
-    <fieldType name="mock_currency_CFT" class="solr.CurrencyFieldType" 
amountLongSuffix="_l1_ns" codeStrSuffix="_s1"
-               providerClass="solr.MockExchangeRateProvider" foo="bar" 
multiValued="false"/>
-    <fieldType name="oer_currency_CFT"
-               class="solr.CurrencyFieldType"
-               amountLongSuffix="_l1_ns"
-               codeStrSuffix="_s1_ns"
-               multiValued="false"
-               providerClass="solr.OpenExchangeRatesOrgProvider"
-               ratesFileLocation="open-exchange-rates.json"/>
-
     <!-- omitPositions example -->
     <fieldType name="nopositions" class="solr.TextField" omitPositions="true">
         <analyzer>
@@ -572,14 +551,6 @@
     <field name="home_ns" type="xy" indexed="true" stored="false" 
multiValued="false"/>
     <field name="work" type="xy" indexed="true" stored="true" 
multiValued="false"/>
 
-    <!-- Test currency -->
-    <field name="amount" type="currency" indexed="true" stored="true" 
multiValued="false"/>
-    <field name="mock_amount" type="mock_currency" indexed="true" 
stored="true"/>
-    <field name="oer_amount" type="oer_currency" indexed="true" stored="true"/>
-    <field name="amount_CFT" type="currency_CFT" indexed="true" stored="true" 
multiValued="false"/>
-    <field name="mock_amount_CFT" type="mock_currency_CFT" indexed="true" 
stored="true"/>
-    <field name="oer_amount_CFT" type="oer_currency_CFT" indexed="true" 
stored="true"/>
-
     <!-- test different combinations of indexed and stored -->
     <field name="bind" type="boolean" indexed="true" stored="false"/>
     <field name="bsto" type="boolean" indexed="false" stored="true"/>
diff --git a/solr/core/src/test-files/solr/collection1/conf/schema.xml 
b/solr/core/src/test-files/solr/collection1/conf/schema.xml
index c0446bbf33a..b824c77460f 100644
--- a/solr/core/src/test-files/solr/collection1/conf/schema.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/schema.xml
@@ -436,15 +436,7 @@
   <fieldType name="tenD" class="solr.PointType" dimension="10" 
subFieldType="double"/>
   <fieldType name="xyd" class="solr.PointType" dimension="2" 
subFieldSuffix="_d1"/>
 
-  <!-- Currency type -->
-  <fieldType name="currency" class="solr.CurrencyField" 
currencyConfig="currency.xml" multiValued="false"/>
-  <fieldType name="mock_currency" class="solr.CurrencyField" 
providerClass="solr.MockExchangeRateProvider" foo="bar"
-             multiValued="false"/>
-  <fieldType name="oer_currency"
-             class="solr.CurrencyField"
-             multiValued="false"
-             providerClass="solr.OpenExchangeRatesOrgProvider"
-             ratesFileLocation="open-exchange-rates.json"/>
+  <!-- Currency type --> 
   <fieldType name="currency_CFT" class="solr.CurrencyFieldType" 
amountLongSuffix="_l1_ns" codeStrSuffix="_s1"
              currencyConfig="currency.xml" multiValued="false"/>
   <fieldType name="mock_currency_CFT" class="solr.CurrencyFieldType" 
amountLongSuffix="_l1_ns" codeStrSuffix="_s1"
@@ -575,9 +567,6 @@
   <field name="work" type="xy" indexed="true" stored="true" 
multiValued="false"/>
 
   <!-- Test currency -->
-  <field name="amount" type="currency" indexed="true" stored="true" 
multiValued="false"/>
-  <field name="mock_amount" type="mock_currency" indexed="true" stored="true"/>
-  <field name="oer_amount" type="oer_currency" indexed="true" stored="true"/>
   <field name="amount_CFT" type="currency_CFT" indexed="true" stored="true" 
multiValued="false"/>
   <field name="mock_amount_CFT" type="mock_currency_CFT" indexed="true" 
stored="true"/>
   <field name="oer_amount_CFT" type="oer_currency_CFT" indexed="true" 
stored="true"/>
diff --git a/solr/core/src/test-files/solr/collection1/conf/schema12.xml 
b/solr/core/src/test-files/solr/collection1/conf/schema12.xml
index 16be4aa17cd..3cd370786ac 100644
--- a/solr/core/src/test-files/solr/collection1/conf/schema12.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/schema12.xml
@@ -560,8 +560,8 @@
 
   <fieldType name="location" class="solr.LatLonPointSpatialField" />
 
-  <fieldType name="currency" class="solr.CurrencyField" 
currencyConfig="currency.xml" multiValued="false"/>
-
+  <fieldType name="currency" class="solr.CurrencyFieldType" 
amountLongSuffix="_l_ns" codeStrSuffix="_s_ns" currencyConfig="currency.xml" 
multiValued="false"/>
+  
   <fieldType name="shingle23" class="solr.TextField" 
enableGraphQueries="false" multiValued="true">
     <analyzer>
       <tokenizer class="solr.WhitespaceTokenizerFactory"/>
@@ -773,6 +773,10 @@
   <dynamicField name="*_f_norms" type="float" indexed="true" stored="true" 
omitNorms="false" docValues="false"/>
   <dynamicField name="*_d_norms" type="double" indexed="true" stored="true" 
omitNorms="false" docValues="false"/>
 
+  <!-- Subfields used with CurrencyFieldType -->
+  <dynamicField name="*_s_ns" type="string" indexed="true" stored="false" />
+  <dynamicField name="*_l_ns" type="long" indexed="true" stored="false"/>
+  
   <dynamicField name="ignored_*" type="ignored" multiValued="true"/>
   <dynamicField name="attr_*" type="text" indexed="true" stored="true" 
multiValued="true"/>
 
diff --git a/solr/core/src/test-files/solr/collection1/conf/schema15.xml 
b/solr/core/src/test-files/solr/collection1/conf/schema15.xml
index 1efddf09d85..aefea6f106c 100644
--- a/solr/core/src/test-files/solr/collection1/conf/schema15.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/schema15.xml
@@ -40,7 +40,7 @@
   <fieldType name="tfloat" class="${solr.tests.FloatFieldType}" 
docValues="${solr.tests.numeric.dv}" precisionStep="8" 
positionIncrementGap="0"/>
   <fieldType name="tlong" class="${solr.tests.LongFieldType}" 
docValues="${solr.tests.numeric.dv}" precisionStep="8" 
positionIncrementGap="0"/>
   <fieldType name="tdouble" class="${solr.tests.DoubleFieldType}" 
docValues="${solr.tests.numeric.dv}" precisionStep="8" 
positionIncrementGap="0"/>
-  <fieldType name="currency" class="solr.CurrencyField" 
currencyConfig="currency.xml" multiValued="false"/>
+  <fieldType name="currency" class="solr.CurrencyFieldType" 
amountLongSuffix="_l_ns" codeStrSuffix="_s_ns" currencyConfig="currency.xml" 
multiValued="false"/>
   <fieldType name="rank" class="solr.RankField"/>
 
   <!-- Dense Vector Fields -->
@@ -612,6 +612,10 @@
   <dynamicField name="*_td" type="tdouble" indexed="true" stored="true"/>
   <dynamicField name="*_tdt" type="tdate" indexed="true" stored="true"/>
 
+  <!-- Subfields used with CurrencyFieldType -->
+  <dynamicField name="*_s_ns" type="string" indexed="true" stored="false" />
+  <dynamicField name="*_l_ns" type="long" indexed="true" stored="false"/>
+  
   <dynamicField name="ignored_*" type="ignored" multiValued="true"/>
   <dynamicField name="attr_*" type="text" indexed="true" stored="true" 
multiValued="true"/>
 
diff --git a/solr/core/src/test-files/solr/collection1/conf/schema_latest.xml 
b/solr/core/src/test-files/solr/collection1/conf/schema_latest.xml
index 87053fbd6ce..fcd25960ec6 100644
--- a/solr/core/src/test-files/solr/collection1/conf/schema_latest.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/schema_latest.xml
@@ -252,6 +252,10 @@
 
   <dynamicField name="*_c" type="currency" indexed="true" stored="true"/>
 
+  <!-- Subfields used with CurrencyFieldType -->
+  <dynamicField name="*_s_ns" type="string" indexed="true" stored="false" />
+  <dynamicField name="*_l_ns" type="long" indexed="true" stored="false"/>
+  
   <dynamicField name="ignored_*" type="ignored" multiValued="true"/>
   <dynamicField name="attr_*" type="text_general" indexed="true" stored="true" 
multiValued="true"/>
 
@@ -726,7 +730,7 @@
                             ratesFileLocation: URL or path to rates JSON file 
(default latest.json on the web)
                             refreshInterval: Number of minutes between each 
rates fetch (default: 1440, min: 60)
   -->
-  <fieldType name="currency" class="solr.CurrencyField" precisionStep="8" 
defaultCurrency="USD"
+  <fieldType name="currency" class="solr.CurrencyFieldType" 
amountLongSuffix="_l_ns" codeStrSuffix="_s_ns" defaultCurrency="USD"
              currencyConfig="currency.xml"/>
 
   <fieldType name="severityType" class="solr.EnumFieldType" 
enumsConfig="enumsConfig.xml" enumName="severity"/>
diff --git a/solr/core/src/test/org/apache/solr/response/JSONWriterTest.java 
b/solr/core/src/test/org/apache/solr/response/JSONWriterTest.java
index 7cb358f6904..ad318de1650 100644
--- a/solr/core/src/test/org/apache/solr/response/JSONWriterTest.java
+++ b/solr/core/src/test/org/apache/solr/response/JSONWriterTest.java
@@ -355,8 +355,6 @@ public class JSONWriterTest extends SolrTestCaseJ4 {
             "true",
             "isto",
             "42",
-            "amount",
-            "100,USD",
             "price",
             "3.14",
             "severity",
@@ -380,7 +378,6 @@ public class JSONWriterTest extends SolrTestCaseJ4 {
             + "      \"uuid\":[\"6e2fb55b-dd42-4e2d-84ca-71a599403aa3\"],\n"
             + "      \"bsto\":[true],\n"
             + "      \"isto\":[42],\n"
-            + "      \"amount\":\"100,USD\",\n"
             + "      \"price\":3.14,\n"
             + "      \"severity\":\"High\",\n"
             + "      \"dateRange\":[\"[2024-03-01 TO 2024-03-31]\"],\n"
diff --git a/solr/core/src/test/org/apache/solr/schema/BadIndexSchemaTest.java 
b/solr/core/src/test/org/apache/solr/schema/BadIndexSchemaTest.java
index d31246de518..3f3e372399a 100644
--- a/solr/core/src/test/org/apache/solr/schema/BadIndexSchemaTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/BadIndexSchemaTest.java
@@ -64,9 +64,6 @@ public class BadIndexSchemaTest extends 
AbstractBadConfigTestBase {
   }
 
   public void testMultivaluedCurrency() throws Exception {
-    doTest("bad-schema-currency-ft-multivalued.xml", "types can not be 
multiValued: currency");
-    doTest("bad-schema-currency-multivalued.xml", "fields can not be 
multiValued: money");
-    doTest("bad-schema-currency-dynamic-multivalued.xml", "fields can not be 
multiValued: *_c");
     doTest(
         "bad-schema-currencyfieldtype-ft-multivalued.xml",
         "types can not be multiValued: currency");
@@ -77,22 +74,14 @@ public class BadIndexSchemaTest extends 
AbstractBadConfigTestBase {
   }
 
   public void testCurrencyOERNoRates() throws Exception {
-    doTest("bad-schema-currency-ft-oer-norates.xml", "ratesFileLocation");
     doTest("bad-schema-currencyfieldtype-ft-oer-norates.xml", 
"ratesFileLocation");
   }
 
   public void testCurrencyBogusCode() throws Exception {
-    doTest("bad-schema-currency-ft-bogus-default-code.xml", "HOSS");
-    doTest("bad-schema-currency-ft-bogus-code-in-xml.xml", "HOSS");
     doTest("bad-schema-currencyfieldtype-ft-bogus-default-code.xml", "HOSS");
     doTest("bad-schema-currencyfieldtype-ft-bogus-code-in-xml.xml", "HOSS");
   }
 
-  public void testCurrencyDisallowedSuffixParams() throws Exception {
-    doTest("bad-schema-currency-ft-code-suffix.xml", "Unknown parameter(s)");
-    doTest("bad-schema-currency-ft-amount-suffix.xml", "Unknown parameter(s)");
-  }
-
   public void testCurrencyBogusSuffixes() throws Exception {
     doTest(
         "bad-schema-currencyfieldtype-bogus-code-suffix.xml",
diff --git 
a/solr/core/src/test/org/apache/solr/schema/CurrencyFieldTypeTest.java 
b/solr/core/src/test/org/apache/solr/schema/CurrencyFieldTypeTest.java
index 58eb8ccfdab..e6de7a7efd5 100644
--- a/solr/core/src/test/org/apache/solr/schema/CurrencyFieldTypeTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/CurrencyFieldTypeTest.java
@@ -45,13 +45,11 @@ public class CurrencyFieldTypeTest extends SolrTestCaseJ4 {
     this.expectedProviderClass = expectedProviderClass;
   }
 
+  // remove cft later
   @ParametersFactory
   public static Iterable<Object[]> parameters() {
     return Arrays.asList(
         new Object[][] {
-          {"amount", FileExchangeRateProvider.class}, // CurrencyField
-          {"mock_amount", MockExchangeRateProvider.class}, // CurrencyField
-          {"oer_amount", OpenExchangeRatesOrgProvider.class}, // CurrencyField
           {"amount_CFT", FileExchangeRateProvider.class}, // CurrencyFieldType
           {"mock_amount_CFT", MockExchangeRateProvider.class}, // 
CurrencyFieldType
           {"oer_amount_CFT", OpenExchangeRatesOrgProvider.class} // 
CurrencyFieldType
@@ -87,14 +85,8 @@ public class CurrencyFieldTypeTest extends SolrTestCaseJ4 {
     assertTrue(amount.isPolyField());
 
     CurrencyFieldType type = (CurrencyFieldType) amount.getType();
-    String currencyDynamicField =
-        "*"
-            + (type instanceof CurrencyField ? FieldType.POLY_FIELD_SEPARATOR 
: "")
-            + type.fieldSuffixCurrency;
-    String amountDynamicField =
-        "*"
-            + (type instanceof CurrencyField ? FieldType.POLY_FIELD_SEPARATOR 
: "")
-            + type.fieldSuffixAmountRaw;
+    String currencyDynamicField = "*" + type.fieldSuffixCurrency;
+    String amountDynamicField = "*" + type.fieldSuffixAmountRaw;
 
     SchemaField[] dynFields = schema.getDynamicFieldPrototypes();
     boolean seenCurrency = false;
diff --git a/solr/prometheus-exporter/src/test-files/exampledocs/money.xml 
b/solr/prometheus-exporter/src/test-files/exampledocs/money.xml
index b1b8036c369..e889c18bdce 100644
--- a/solr/prometheus-exporter/src/test-files/exampledocs/money.xml
+++ b/solr/prometheus-exporter/src/test-files/exampledocs/money.xml
@@ -15,7 +15,7 @@
  limitations under the License.
 -->
 
-<!-- Example documents utilizing the CurrencyField type -->
+<!-- Example documents utilizing the CurrencyFieldType type -->
 <add>
 <doc>
   <field name="id">USD</field>
diff --git 
a/solr/solr-ref-guide/modules/indexing-guide/pages/field-types-included-with-solr.adoc
 
b/solr/solr-ref-guide/modules/indexing-guide/pages/field-types-included-with-solr.adoc
index d29f74cc7b3..101e391f7ae 100644
--- 
a/solr/solr-ref-guide/modules/indexing-guide/pages/field-types-included-with-solr.adoc
+++ 
b/solr/solr-ref-guide/modules/indexing-guide/pages/field-types-included-with-solr.adoc
@@ -93,8 +93,6 @@ This shortcoming may be addressed in a future release.
 |===
 |Class |Description
 
-|CurrencyField |Use CurrencyFieldType instead.
-
 |EnumField |Use EnumFieldType instead.
 
 |TrieDateField |Use DatePointField instead.
diff --git 
a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc 
b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc
index 972106a63fb..eeb1ff958f5 100644
--- 
a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc
+++ 
b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc
@@ -106,6 +106,8 @@ Users who that don't need to vary JAR access on a per-core 
basis have several op
 
 * ExternalFileField field type has been removed.
 
+* CurrencyField has been removed.  Users should migrate to the 
`CurrencyFieldType` implementation.
+
 === Security
 
 * There is no longer a distinction between trusted and untrusted configSets; 
all configSets are now considered trusted. To ensure security, Solr should be 
properly protected using authentication and authorization mechanisms, allowing 
only authorized users with administrative privileges to publish them.
diff --git 
a/solr/test-framework/src/test-files/solr/collection1/conf/schema.xml 
b/solr/test-framework/src/test-files/solr/collection1/conf/schema.xml
index b4174377b26..2b9ae1f053d 100644
--- a/solr/test-framework/src/test-files/solr/collection1/conf/schema.xml
+++ b/solr/test-framework/src/test-files/solr/collection1/conf/schema.xml
@@ -437,14 +437,6 @@
   <fieldType name="xyd" class="solr.PointType" dimension="2" 
subFieldSuffix="_d1"/>
 
   <!-- Currency type -->
-  <fieldType name="currency" class="solr.CurrencyField" 
currencyConfig="currency.xml" multiValued="false"/>
-  <fieldType name="mock_currency" class="solr.CurrencyField" 
providerClass="solr.MockExchangeRateProvider" foo="bar"
-             multiValued="false"/>
-  <fieldType name="oer_currency"
-             class="solr.CurrencyField"
-             multiValued="false"
-             providerClass="solr.OpenExchangeRatesOrgProvider"
-             ratesFileLocation="open-exchange-rates.json"/>
   <fieldType name="currency_CFT" class="solr.CurrencyFieldType" 
amountLongSuffix="_l1_ns" codeStrSuffix="_s1"
              currencyConfig="currency.xml" multiValued="false"/>
   <fieldType name="mock_currency_CFT" class="solr.CurrencyFieldType" 
amountLongSuffix="_l1_ns" codeStrSuffix="_s1"


Reply via email to