docs: @Override
      public Query doQuery(SingleColumnMapper<?> mapper, Analyzer analyzer) {
  
          // Check doc values
          if (docValues && !mapper.docValues) {
              throw new IndexException("Field '{}' does not support doc_values", mapper.field);
          }
  
          Class<?> clazz = mapper.base;
          Query query;
          if (clazz == String.class) {
              String start = (String) mapper.base(field, lower);
              String stop = (String) mapper.base(field, upper);
              query = query(start, stop);
          } else if (clazz == Integer.class) {
              Integer start = (Integer) mapper.base(field, lower);
              Integer stop = (Integer) mapper.base(field, upper);
              query = query(start, stop);
          } else if (clazz == Long.class) {
              Long start = (Long) mapper.base(field, lower);
              Long stop = (Long) mapper.base(field, upper);
              query = query(start, stop);
          } else if (clazz == Float.class) {
              Float start = (Float) mapper.base(field, lower);
              Float stop = (Float) mapper.base(field, upper);
              query = query(start, stop);
          } else if (clazz == Double.class) {
              Double start = (Double) mapper.base(field, lower);
              Double stop = (Double) mapper.base(field, upper);
              query = query(start, stop);
          } else {
              throw new IndexException("Range queries are not supported by mapper '{}'", mapper);
          }
          return query;
      }