diff --git src/wp-includes/query.php src/wp-includes/query.php
index 053f4e9..95b637c 100644
--- src/wp-includes/query.php
+++ src/wp-includes/query.php
@@ -2154,7 +2154,7 @@ class WP_Query {
 			}
 
 			$like = $n . $wpdb->esc_like( $term ) . $n;
-			$search .= $wpdb->prepare( "{$searchand}(($wpdb->posts.post_title $like_op %s) $andor_op ($wpdb->posts.post_content $like_op %s))", $like, $like );
+			$search .= $wpdb->prepare( "{$searchand}(($wpdb->posts.post_title $like_op %s) $andor_op ($wpdb->posts.post_content $like_op %s) $andor_op ($wpdb->posts.post_excerpt $like_op %s))", $like, $like, $like );
 			$searchand = ' AND ';
 		}
 
diff --git tests/phpunit/tests/query/search.php tests/phpunit/tests/query/search.php
index 859cd98..4fb92f1 100644
--- tests/phpunit/tests/query/search.php
+++ tests/phpunit/tests/query/search.php
@@ -178,6 +178,40 @@ class Tests_Query_Search extends WP_UnitTestCase {
 		$this->assertNotContains( 'posts_search', $q->request );
 	}
 
+	/**
+	 * @ticket 35762
+	 */
+	public function test_search_post_excerpt() {
+		$p1 = self::factory()->post->create( array(
+			'post_status' => 'publish',
+			'post_content' => 'This post has foo but also bar',
+		) );
+		$p2 = self::factory()->post->create( array(
+			'post_status' => 'publish',
+			'post_content' => '',
+			'post_excerpt' => 'This post has only bar',
+		) );
+		$p3 = self::factory()->post->create( array(
+			'post_status' => 'publish',
+			'post_content' => '',
+			'post_excerpt' => 'This post has only foo-bar',
+		) );
+
+		$q = new WP_Query( array(
+			's' => 'foo-bar',
+			'fields' => 'ids',
+		) );
+
+		$this->assertEqualSets( array( $p3 ), $q->posts );
+
+		$q = new WP_Query( array(
+			's' => 'bar',
+			'fields' => 'ids',
+		) );
+
+		$this->assertEqualSets( array( $p1, $p2, $p3 ), $q->posts );
+	}
+
 	public function filter_posts_search( $sql ) {
 		return $sql . ' /* posts_search */';
 	}
