diff --git a/src/Plugin/SolrConnector/ExtractingSolrConnector.php b/src/Plugin/SolrConnector/ExtractingSolrConnector.php
new file mode 100644
index 0000000..a5ba16f
--- /dev/null
+++ b/src/Plugin/SolrConnector/ExtractingSolrConnector.php
@@ -0,0 +1,33 @@
+<?php
+
+namespace Drupal\search_api_attachments\Plugin\SolrConnector;
+
+use Drupal\search_api_solr\SolrConnector\SolrConnectorPluginBase;
+use Solarium\Core\Client\Client;
+
+/**
+ * Extracting Solr connector.
+ *
+ * @SolrConnector(
+ *   id = "extracting",
+ *   label = @Translation("Extracting"),
+ *   description = @Translation("An extracting connector usable for Search API attachments.")
+ * )
+ */
+class ExtractingSolrConnector extends SolrConnectorPluginBase {
+
+  /**
+   * Create an extract query instance.
+   *
+   * @param mixed $options
+   *   Options.
+   *
+   * @return \Solarium\QueryType\Extract\Query
+   *   Extract query.
+   */
+  public function createExtract($options = NULL) {
+    $this->connect();
+    return $this->solr->createQuery(Client::QUERY_EXTRACT, $options);
+  }
+
+}
diff --git a/src/Plugin/search_api_attachments/SolrExtractor.php b/src/Plugin/search_api_attachments/SolrExtractor.php
index 974548c..b68017f 100644
--- a/src/Plugin/search_api_attachments/SolrExtractor.php
+++ b/src/Plugin/search_api_attachments/SolrExtractor.php
@@ -69,10 +69,10 @@ class SolrExtractor extends TextExtractorPluginBase {
     // Get the Solr backend.
     /** @var \Drupal\search_api_solr\Plugin\search_api\backend\SearchApiSolrBackend $backend */
     $backend = $server->getBackend();
-    // Initialise the Client.
-    $client = $backend->getSolrConnection();
+    // Initialise the connector.
+    $connector = $backend->getSolrConnector();
     // Create the Query.
-    $query = $client->createExtract();
+    $query = $connector->createExtract();
     // setExtractOnly is only available in solarium 3.3.0 and up.
     $query->setExtractOnly(TRUE);
     $query->setFile($filepath);
@@ -84,7 +84,7 @@ class SolrExtractor extends TextExtractorPluginBase {
     }
 
     // Execute the query.
-    $result = $client->extract($query);
+    $result = $connector->execute($query);
     $response = $result->getResponse();
     $json_data = $response->getBody();
     $array_data = Json::decode($json_data);
@@ -121,13 +121,15 @@ class SolrExtractor extends TextExtractorPluginBase {
     $search_api_solr_servers = $this->entityTypeManager->getStorage('search_api_server')->loadByProperties($conditions);
     $options = [];
     foreach ($search_api_solr_servers as $solr_server) {
-      $options[$solr_server->id()] = $solr_server->label();
+      if ($solr_server->getBackendConfig()['connector'] === 'extracting') {
+        $options[$solr_server->id()] = $solr_server->label();
+      }
     }
 
     $form['solr_server'] = [
       '#type' => 'select',
       '#title' => $this->t('Solr server'),
-      '#description' => $this->t('Select the solr server you want to use.'),
+      '#description' => $this->t('Select the Solr server you want to use. The connector must be the Extracting one provided by Search API attachments.'),
       '#empty_value' => '',
       '#options' => $options,
       '#default_value' => $this->configuration['solr_server'],
