Map<String, Datatype> fields() {
    return this.mapping;
  }
Returns ES schema for each field. Mapping is represented as field name
{@code foo.bar.qux} and type ({@code keyword}, {@code boolean},
{@code long}).

@return immutable mapping between field and ES type

@see <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html">Mapping Types</a>
criteria/elasticsearch/src/org/immutables/criteria/elasticsearch/Mapping.java