Index: src/js/_enqueues/lib/admin-bar.js
===================================================================
--- src/js/_enqueues/lib/admin-bar.js	(revision 51482)
+++ src/js/_enqueues/lib/admin-bar.js	(working copy)
@@ -450,4 +450,12 @@
 		return null;
 	}
 
+	if ( typeof(jQuery) != 'undefined' ) { 
+		jQuery('#wp-admin-bar-my-sites-search-list input').bind('keyup search', function() {
+			var searchValRegex = new RegExp( jQuery(this).val(), 'i');
+			jQuery('#wp-admin-bar-my-sites-list > li.menupop').addClass('ab-hidden').filter(function() {
+				return searchValRegex.test( jQuery(this).children('a').text() );
+			} ).removeClass('ab-hidden');
+		});
+	}
 } )( document, window, navigator );
Index: src/wp-includes/admin-bar.php
===================================================================
--- src/wp-includes/admin-bar.php	(revision 51482)
+++ src/wp-includes/admin-bar.php	(working copy)
@@ -579,6 +579,24 @@
 		)
 	);
 
+	// Add network site search.
+	if ( count( (array) $wp_admin_bar->user->blogs ) > 5 ) {
+		$wp_admin_bar->add_node(
+			array(
+				'parent' => 'my-sites-list',
+				'id'     => 'my-sites-search-list',
+				'title'  => sprintf(
+					'<label for="my-sites-search-filter" class="screen-reader-text">%s</label><input id="my-sites-search-filter" type="search" placeholder="%s" />',
+					__( 'Filter site list' ),
+					esc_attr__( 'Filter site list' ),
+				),
+				'meta'   => array(
+					'class' => 'hide-if-no-js',
+				),
+			)
+		);
+	}
+
 	foreach ( (array) $wp_admin_bar->user->blogs as $blog ) {
 		switch_to_blog( $blog->userblog_id );
 
Index: src/wp-includes/css/admin-bar.css
===================================================================
--- src/wp-includes/css/admin-bar.css	(revision 51482)
+++ src/wp-includes/css/admin-bar.css	(working copy)
@@ -42,6 +42,15 @@
 	white-space: nowrap;
 }
 
+#wpadminbar #wp-admin-bar-my-sites-search-list .ab-item {
+	min-height: 38px;
+}
+
+#wpadminbar #wp-admin-bar-my-sites-search-list input[type="search"] {
+	padding: 0 4px;
+	width: calc( 100% - 10px );
+}
+
 #wpadminbar ul li:before,
 #wpadminbar ul li:after {
 	content: normal;
@@ -728,6 +737,10 @@
 	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
 }
 
+#wpadminbar .ab-hidden {
+	display: none;
+}
+
 @media screen and (max-width: 782px) {
 	/* Toolbar Touchification*/
 	html #wpadminbar {
