SOLR-2935: Better docs for numeric FieldTypes

git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1210714 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Chris M. Hostetter 2011-12-05 23:49:57 +00:00
parent 7bce9c8fb7
commit 3fc07698f3
14 changed files with 170 additions and 1 deletions

View File

@ -28,7 +28,21 @@ import java.io.IOException;
import java.util.Map;
/**
* A numeric field that can contain 8-bit signed two's complement integer
* values, encoded as simple Strings.
*
* <p>
* Field values will sort numerically, but Range Queries (and other features
* that rely on numeric ranges) will not work as expected: values will be
* evaluated in unicode String order, not numeric order.
* </p>
*
* <ul>
* <li>Min Value Allowed: -128</li>
* <li>Max Value Allowed: 127</li>
* </ul>
*
* @see Byte
*/
public class ByteField extends FieldType {
@Override

View File

@ -28,7 +28,18 @@ import java.io.IOException;
import java.util.Map;
/**
* A legacy numeric field type that encodes "Double" values as simple Strings.
* This class should not be used except by people with existing indexes that
* contain numeric values indexed as Strings.
* New schemas should use {@link TrieDoubleField}.
*
* <p>
* Field values will sort numerically, but Range Queries (and other features
* that rely on numeric ranges) will not work as expected: values will be
* evaluated in unicode String order, not numeric order.
* </p>
*
* @see TrieDoubleField
*/
public class DoubleField extends FieldType {
@Override

View File

@ -27,7 +27,18 @@ import org.apache.solr.response.TextResponseWriter;
import java.util.Map;
import java.io.IOException;
/**
* A legacy numeric field type that encodes "Float" values as simple Strings.
* This class should not be used except by people with existing indexes that
* contain numeric values indexed as Strings.
* New schemas should use {@link TrieFloatField}.
*
* <p>
* Field values will sort numerically, but Range Queries (and other features
* that rely on numeric ranges) will not work as expected: values will be
* evaluated in unicode String order, not numeric order.
* </p>
*
* @see TrieFloatField
*/
public class FloatField extends FieldType {
@Override

View File

@ -27,7 +27,18 @@ import org.apache.solr.response.TextResponseWriter;
import java.util.Map;
import java.io.IOException;
/**
* A legacy numeric field type that encodes "Integer" values as simple Strings.
* This class should not be used except by people with existing indexes that
* contain numeric values indexed as Strings.
* New schemas should use {@link TrieIntField}.
*
* <p>
* Field values will sort numerically, but Range Queries (and other features
* that rely on numeric ranges) will not work as expected: values will be
* evaluated in unicode String order, not numeric order.
* </p>
*
* @see TrieIntField
*/
public class IntField extends FieldType {
@Override

View File

@ -27,7 +27,18 @@ import org.apache.solr.search.QParser;
import java.io.IOException;
import java.util.Map;
/**
* A legacy numeric field type that encodes "Long" values as simple Strings.
* This class should not be used except by people with existing indexes that
* contain numeric values indexed as Strings.
* New schemas should use {@link TrieLongField}.
*
* <p>
* Field values will sort numerically, but Range Queries (and other features
* that rely on numeric ranges) will not work as expected: values will be
* evaluated in unicode String order, not numeric order.
* </p>
*
* @see TrieLongField
*/
public class LongField extends FieldType {
@Override

View File

@ -29,8 +29,21 @@ import java.util.Map;
/**
* A numeric field that can contain 16-bit signed two's complement integer
* values, encoded as simple Strings.
*
* <p>
* Field values will sort numerically, but Range Queries (and other features
* that rely on numeric ranges) will not work as expected: values will be
* evaluated in unicode String order, not numeric order.
* </p>
*
* <ul>
* <li>Min Value Allowed: -32768</li>
* <li>Max Value Allowed: 32767</li>
* </ul>
*
* @see Short
**/
public class ShortField extends FieldType {
@Override

View File

@ -36,8 +36,19 @@ import org.apache.solr.response.TextResponseWriter;
import java.util.Map;
import java.io.IOException;
/**
* A legacy numeric field type that encodes "Double" values as Strings such
* that Term enumeration order matches the natural numeric order. This class
* should not be used except by people with existing indexes that already
* contain fields of this type. New schemas should use {@link TrieDoubleField}.
*
* <p>
* The naming convention "Sortable" comes from the fact that both the numeric
* values and encoded String representations Sort identically (as opposed to
* a direct String representation where values such as "11" sort before values
* such as "2").
* </p>
*
* @see TrieDoubleField
* @deprecated use {@link DoubleField} or {@link TrieDoubleField} - will be removed in 5.x
*/
@Deprecated

View File

@ -35,9 +35,21 @@ import org.apache.solr.response.TextResponseWriter;
import java.util.Map;
import java.io.IOException;
/**
* A legacy numeric field type that encodes "Float" values as Strings such
* that Term enumeration order matches the natural numeric order. This class
* should not be used except by people with existing indexes that already
* contain fields of this type. New schemas should use {@link TrieFloatField}.
*
*
* <p>
* The naming convention "Sortable" comes from the fact that both the numeric
* values and encoded String representations Sort identically (as opposed to
* a direct String representation where values such as "11" sort before values
* such as "2").
* </p>
*
* @see TrieFloatField
* @deprecated use {@link FloatField} or {@link TrieFloatField} - will be removed in 5.x
*/
@Deprecated

View File

@ -35,9 +35,21 @@ import org.apache.solr.response.TextResponseWriter;
import java.util.Map;
import java.io.IOException;
/**
* A legacy numeric field type that encodes "Integer" values as Strings such
* that Term enumeration order matches the natural numeric order. This class
* should not be used except by people with existing indexes that already
* contain fields of this type. New schemas should use {@link TrieIntField}.
*
* <p>
* The naming convention "Sortable" comes from the fact that both the numeric
* values and encoded String representations Sort identically (as opposed to
* a direct String representation where values such as "11" sort before values
* such as "2").
* </p>
*
* @see TrieIntField
* @deprecated use {@link IntField} or {@link TrieIntField} - will be removed in 5.x
*/
@Deprecated

View File

@ -36,8 +36,19 @@ import org.apache.solr.response.TextResponseWriter;
import java.util.Map;
import java.io.IOException;
/**
* A legacy numeric field type that encodes "Long" values as Strings such
* that Term enumeration order matches the natural numeric order. This class
* should not be used except by people with existing indexes that already
* contain fields of this type. New schemas should use {@link TrieLongField}.
*
* <p>
* The naming convention "Sortable" comes from the fact that both the numeric
* values and encoded String representations Sort identically (as opposed to
* a direct String representation where values such as "11" sort before values
* such as "2").
* </p>
*
* @see TrieLongField
* @deprecated use {@link LongField} or {@link TrieLongField} - will be removed in 5.x
*/
@Deprecated

View File

@ -17,6 +17,22 @@
package org.apache.solr.schema;
/**
* A numeric field that can contain double-precision 64-bit IEEE 754 floating
* point values.
*
* <ul>
* <li>Min Value Allowed: 4.9E-324</li>
* <li>Max Value Allowed: 1.7976931348623157E308</li>
* </ul>
*
* <b>NOTE:</b> The behavior of this class when given values of
* {@link Double#NaN}, {@link Double#NEGATIVE_INFINITY}, or
* {@link Double#POSITIVE_INFINITY} is undefined.
*
* @see Double
* @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.2.3">Java Language Specification, s4.2.3</a>
*/
public class TrieDoubleField extends TrieField {
{
type=TrieTypes.DOUBLE;

View File

@ -17,6 +17,22 @@
package org.apache.solr.schema;
/**
* A numeric field that can contain single-precision 32-bit IEEE 754
* floating point values.
*
* <ul>
* <li>Min Value Allowed: 1.401298464324817E-45</li>
* <li>Max Value Allowed: 3.4028234663852886E38</li>
* </ul>
*
* <b>NOTE:</b> The behavior of this class when given values of
* {@link Float#NaN}, {@link Float#NEGATIVE_INFINITY}, or
* {@link Float#POSITIVE_INFINITY} is undefined.
*
* @see Float
* @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.2.3">Java Language Specification, s4.2.3</a>
*/
public class TrieFloatField extends TrieField {
{
type=TrieTypes.FLOAT;

View File

@ -17,6 +17,16 @@
package org.apache.solr.schema;
/**
* A numeric field that can contain 32-bit signed two's complement integer values.
*
* <ul>
* <li>Min Value Allowed: -2147483648</li>
* <li>Max Value Allowed: 2147483647</li>
* </ul>
*
* @see Integer
*/
public class TrieIntField extends TrieField {
{
type=TrieTypes.INTEGER;

View File

@ -17,6 +17,16 @@
package org.apache.solr.schema;
/**
* A numeric field that can contain 64-bit signed two's complement integer values.
*
* <ul>
* <li>Min Value Allowed: -9223372036854775808</li>
* <li>Max Value Allowed: 9223372036854775807</li>
* </ul>
*
* @see Long
*/
public class TrieLongField extends TrieField {
{
type=TrieTypes.LONG;