diff --git a/custom_solr_search.services.yml b/custom_solr_search.services.yml
index 7a0f3c7..1aa4452 100644
--- a/custom_solr_search.services.yml
+++ b/custom_solr_search.services.yml
@@ -4,3 +4,6 @@ services:
   custom_solr_search.solr_servers:
     class: Drupal\custom_solr_search\SolrServerDetails
     arguments: []
+  custom_solr_search.search_all:
+    class: Drupal\custom_solr_search\SearchSolrAll
+    arguments: []
\ No newline at end of file
diff --git a/src/SearchSolrAll.php b/src/SearchSolrAll.php
new file mode 100644
index 0000000..a6cb4af
--- /dev/null
+++ b/src/SearchSolrAll.php
@@ -0,0 +1,41 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\custom_solr_search\SearchSolrAll.
+ */
+
+namespace Drupal\custom_solr_search;
+
+
+/**
+ * Class SearchSolrAll.
+ *
+ * @package Drupal\custom_solr_search
+ */
+class SearchSolrAll {
+  /**
+   * Constructor.
+   */
+  public function __construct() {
+
+  }
+
+  /**
+   * Searching in all Solr servers.
+   *
+   * @param string $keyword
+   *   String to search.
+   * @return array $results
+   *   Array of search results.
+   */
+  public function seachAll($keyword){
+    $servers = \Drupal::service('custom_solr_search.solr_servers')->getServers();
+    $results = array();
+    foreach ($servers as $server_machine => $server_display) {
+      $result = \Drupal::service('custom_solr_search.search')->basicSearch($keyword, 0, 5, $server_machine);
+      $results = array_merge($results, $result);
+    }
+    return $results;
+  }
+}
