private SolrServer createUpdateServer(Map<String, Object> properties)
      throws MalformedURLException {
    String url = Utils.toString(properties.get(PROP_SOLR_URL), "http://localhost:8983/solr");

    CommonsHttpSolrServer remoteServer = new CommonsHttpSolrServer(url);
    remoteServer.setSoTimeout(Utils.toInt(properties.get(PROP_SO_TIMEOUT), 1000)); // socket
    // read
    // timeout
    remoteServer.setConnectionTimeout(Utils.toInt(properties.get(PROP_CONNECTION_TIMEOUT), 100));
    remoteServer.setDefaultMaxConnectionsPerHost(
        Utils.toInt(properties.get(PROP_MAX_CONNECTONS_PER_HOST), 100));
    remoteServer.setMaxTotalConnections(
        Utils.toInt(properties.get(PROP_MAX_TOTAL_CONNECTONS), 100));
    remoteServer.setFollowRedirects(
        Utils.toBoolean(properties.get(PROP_FOLLOW), false)); // defaults
    // to
    // false
    // allowCompression defaults to false.
    // Server side must support gzip or deflate for this to have any effect.
    remoteServer.setAllowCompression(Utils.toBoolean(properties.get(PROP_ALLOW_COMPRESSION), true));
    remoteServer.setMaxRetries(Utils.toInt(properties.get(PROP_MAX_RETRIES), 1)); // defaults
    // to 0.
    // > 1
    // not
    // recommended.
    remoteServer.setParser(new BinaryResponseParser()); // binary parser is
    // used by
    // default

    return remoteServer;
  }