Ethernet shield connected to local network, not to internet
Find a server that doesn't automatically switch modes to https as google does.  If you put 64.233.187.99/search?q=arduino%20HTTP/1.0   in your browser you'll see that it switches to https.  

If make the same request via the wget terminal app it fails.

--2020-01-17 11:42:26--  http://64.233.187.99/search?q=arduino%20HTTP/1.0
Connecting to 64.233.187.99:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.google.com/search?q=arduino%20HTTP/1.0 [following]
--2020-01-17 11:42:26--  http://www.google.com/search?q=arduino%20HTTP/1.0
Resolving www.google.com... 172.217.4.132, 2607:f8b0:4007:80c::2004
Connecting to www.google.com|172.217.4.132|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2020-01-17 11:42:28 ERROR 403: Forbidden.


There should also be an error returned to the client object which you can print out for debugging the conection.

Change your code to print out the return value of the client.connect call like so

void loop() {
      int result = client.connect(server, 80); 
      if (x) {
        Serial.println("connected");
        client.println("GET /search?q=arduino HTTP/1.0");
        client.println();
      } else {
        Serial.println("connection failed");
        Serial.println(x);  // print out the error
      }
    }


One last thing, you set your dns server to 8.8.8.8 which should generally be set to your gateway / router of 192.168.1.1.