In this tutorial chapter,
we'll refactor the apps we built in Lucy::Docs::Tutorial::Simple so that they look exactly the same from the end user's point of view,
but offer the developer greater possibilites for expansion.

To achieve this,
we'll ditch Lucy::Simple and replace it with the classes that it uses internally:

All of the fields are spec'd out using the "FullTextType" FieldType, indicating that they will be searchable as "full text" -- which means that they can be searched for individual words. The "analyzer", which is unique to FullTextType fields, is what breaks up the text into searchable tokens.

Next, we'll swap our Lucy::Simple object out for a Lucy::Index::Indexer. The substitution will be straightforward because Simple has merely been serving as a thin wrapper around an inner Indexer, and we'll just be peeling away the wrapper.

There's only one extra step required: at the end of the app, you must call commit() explicitly to close the indexing session and commit your changes. (Lucy::Simple hides this detail, calling commit() implicitly when it needs to).