lucene-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sar...@apache.org
Subject [5/6] lucene-solr:branch_7_0: SOLR-11023: Added EnumFieldType, a non-Trie-based version of EnumField, and deprecated EnumField in favor of EnumFieldType.
Date Fri, 04 Aug 2017 23:37:42 GMT
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/41f6ae55/solr/solr-ref-guide/src/field-types-included-with-solr.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/field-types-included-with-solr.adoc b/solr/solr-ref-guide/src/field-types-included-with-solr.adoc
index 4ba0e45..7508ef2 100644
--- a/solr/solr-ref-guide/src/field-types-included-with-solr.adoc
+++ b/solr/solr-ref-guide/src/field-types-included-with-solr.adoc
@@ -32,7 +32,8 @@ The following table lists the field types that are available in Solr. The
`org.a
 |CurrencyFieldType |Supports currencies and exchange rates. See the section <<working-with-currencies-and-exchange-rates.adoc#working-with-currencies-and-exchange-rates,Working
with Currencies and Exchange Rates>>.
 |DateRangeField |Supports indexing date ranges, to include point in time date instances as
well (single-millisecond durations). See the section <<working-with-dates.adoc#working-with-dates,Working
with Dates>> for more detail on using this field type. Consider using this field type
even if it's just for date instances, particularly when the queries typically fall on UTC
year/month/day/hour, etc., boundaries.
 |ExternalFileField |Pulls values from a file on disk. See the section <<working-with-external-files-and-processes.adoc#working-with-external-files-and-processes,Working
with External Files and Processes>>.
-|EnumField |Allows defining an enumerated set of values which may not be easily sorted by
either alphabetic or numeric order (such as a list of severities, for example). This field
type takes a configuration file, which lists the proper order of the field values. See the
section <<working-with-enum-fields.adoc#working-with-enum-fields,Working with Enum Fields>>
for more information.
+|EnumField |Deprecated in favor of EnumFieldType
+|EnumFieldType |Allows defining an enumerated set of values which may not be easily sorted
by either alphabetic or numeric order (such as a list of severities, for example). This field
type takes a configuration file, which lists the proper order of the field values. See the
section <<working-with-enum-fields.adoc#working-with-enum-fields,Working with Enum Fields>>
for more information.
 |ICUCollationField |Supports Unicode collation for sorting and range queries. See the section
<<language-analysis.adoc#unicode-collation,Unicode Collation>>.
 |LatLonPointSpatialField |<<spatial-search.adoc#spatial-search,Spatial Search>>:
a latitude/longitude coordinate pair; possibly multi-valued for multiple points. Usually it's
specified as "lat,lon" order with a comma.
 |LatLonType |(deprecated) <<spatial-search.adoc#spatial-search,Spatial Search>>:
a single-valued latitude/longitude coordinate pair. Usually it's specified as "lat,lon" order
with a comma.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/41f6ae55/solr/solr-ref-guide/src/working-with-enum-fields.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/working-with-enum-fields.adoc b/solr/solr-ref-guide/src/working-with-enum-fields.adoc
index 205b735..057d8f0 100644
--- a/solr/solr-ref-guide/src/working-with-enum-fields.adoc
+++ b/solr/solr-ref-guide/src/working-with-enum-fields.adoc
@@ -18,16 +18,22 @@
 // specific language governing permissions and limitations
 // under the License.
 
-The EnumField type allows defining a field whose values are a closed set, and the sort order
is pre-determined but is not alphabetic nor numeric. Examples of this are severity lists,
or risk definitions.
+EnumFieldType allows defining a field whose values are a closed set, and the sort order is
pre-determined but is not alphabetic nor numeric. Examples of this are severity lists, or
risk definitions.
 
-== Defining an EnumField in schema.xml
+.EnumField has been Deprecated
+[WARNING]
+====
+EnumField has been deprecated in favor of EnumFieldType; all configuration examples below
use EnumFieldType.
+====
 
-The EnumField type definition is quite simple, as in this example defining field types for
"priorityLevel" and "riskLevel" enumerations:
+== Defining an EnumFieldType in schema.xml
+
+The EnumFieldType type definition is quite simple, as in this example defining field types
for "priorityLevel" and "riskLevel" enumerations:
 
 [source,xml]
 ----
-<fieldType name="priorityLevel" class="solr.EnumField" enumsConfig="enumsConfig.xml" enumName="priority"/>
-<fieldType name="riskLevel"     class="solr.EnumField" enumsConfig="enumsConfig.xml" enumName="risk"
   />
+<fieldType name="priorityLevel" class="solr.EnumFieldType" docValues="true" enumsConfig="enumsConfig.xml"
enumName="priority"/>
+<fieldType name="riskLevel"     class="solr.EnumFieldType" docValues="true" enumsConfig="enumsConfig.xml"
enumName="risk"    />
 ----
 
 Besides the `name` and the `class`, which are common to all field types, this type also takes
two additional parameters:
@@ -35,7 +41,9 @@ Besides the `name` and the `class`, which are common to all field types,
this ty
 `enumsConfig`:: the name of a configuration file that contains the `<enum/>` list of
field values and their order that you wish to use with this field type. If a path to the file
is not defined specified, the file should be in the `conf` directory for the collection.
 `enumName`:: the name of the specific enumeration in the `enumsConfig` file to use for this
type.
 
-== Defining the EnumField Configuration File
+Note that `docValues="true"` must be specified either in the EnumFieldType fieldType or field
specification.
+
+== Defining the EnumFieldType Configuration File
 
 The file named with the `enumsConfig` parameter can contain multiple enumeration value lists
with different names if there are multiple uses for enumerations in your Solr schema.
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/41f6ae55/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
index e703198..eccca62 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
@@ -2680,6 +2680,7 @@ public abstract class SolrTestCaseJ4 extends LuceneTestCase {
       private_RANDOMIZED_NUMERIC_FIELDTYPES.put(Long.class, "solr.TrieLongField");
       private_RANDOMIZED_NUMERIC_FIELDTYPES.put(Double.class, "solr.TrieDoubleField");
       private_RANDOMIZED_NUMERIC_FIELDTYPES.put(Date.class, "solr.TrieDateField");
+      private_RANDOMIZED_NUMERIC_FIELDTYPES.put(Enum.class, "solr.EnumField");
       
       System.setProperty(NUMERIC_POINTS_SYSPROP, "false");
     } else {
@@ -2691,6 +2692,7 @@ public abstract class SolrTestCaseJ4 extends LuceneTestCase {
       private_RANDOMIZED_NUMERIC_FIELDTYPES.put(Long.class, "solr.LongPointField");
       private_RANDOMIZED_NUMERIC_FIELDTYPES.put(Double.class, "solr.DoublePointField");
       private_RANDOMIZED_NUMERIC_FIELDTYPES.put(Date.class, "solr.DatePointField");
+      private_RANDOMIZED_NUMERIC_FIELDTYPES.put(Enum.class, "solr.EnumFieldType");
       
       System.setProperty(NUMERIC_POINTS_SYSPROP, "true");
     }


Mime
View raw message