getRangeQuery

Returns a Query instance for doing range searches on this field type. SolrQueryParser
currently passes part1 and part2 as null if they are '*' respectively. minInclusive and maxInclusive are both true
currently by SolrQueryParser but that may change in the future. Also, other QueryParser implementations may have
different semantics.

Sub-classes should override this method to provide their own range query implementation. They should strive to
handle nulls in part1 and/or part2 as well as unequal minInclusive and maxInclusive parameters gracefully.

createField

Used for adding a document when a field needs to be created from a
type and a string.

By default, the indexed value is the same as the stored value
(taken from toInternal()). Having a different representation for
external, internal, and indexed would present quite a few problems
given the current Lucene architecture. An analyzer for adding docs
would need to translate internal->indexed while an analyzer for
querying would need to translate external->indexed.

The only other alternative to having internal==indexed would be to have
internal==external. In this case, toInternal should convert to
the indexed representation, toExternal() should do nothing, and
createField() should *not* call toInternal, but use the external
value and set tokenized=true to get Lucene to convert to the
internal(indexed) form.