## Creating a numeric field

We've learned how to deal with textual content using a StringField and TextField in Lucene, so now let's take a look at how numerals are handled. Lucene provides four Field classes for storing numeric values. They are `IntField`

, `FloatField`

, `LongField`

, and `DoubleField`

, and are analogous to Java numeric types. Lucene, being a text search engine, treats numeral as term internally and indexes them in a trie structure (also called ordered tree data structure) as illustrated in the following:

Each Term is logically assigned to larger and larger predefined lower-precision brackets. For example, let's assume that the brackets are divided by a quotient of division of a lower level by ten as in the preceding diagram. So, under the **1** bracket (at the top level), we get DocId associated with values in the *100s* range, and under the **12** bracket, we get association with values in the *120s* range and so on. Now, let's say you want to search by numeric range of all documents with the...