diff --git a/modules/search_api_aws_signature_connector/config/schema/search_api_opensearch.connector.aws_signature.schema.yml b/modules/search_api_aws_signature_connector/config/schema/search_api_opensearch.connector.aws_signature.schema.yml
index db03425..c4859f6 100644
--- a/modules/search_api_aws_signature_connector/config/schema/search_api_opensearch.connector.aws_signature.schema.yml
+++ b/modules/search_api_aws_signature_connector/config/schema/search_api_opensearch.connector.aws_signature.schema.yml
@@ -17,3 +17,6 @@ plugin.plugin_configuration.opensearch_connector.aws_signature:
     aws_region:
       type: string
       label: 'The AWS region'
+    aws_service:
+      type: string
+      label: 'The AWS service'
diff --git a/modules/search_api_aws_signature_connector/search_api_aws_signature_connector.install b/modules/search_api_aws_signature_connector/search_api_aws_signature_connector.install
index ba4be77..48722f4 100644
--- a/modules/search_api_aws_signature_connector/search_api_aws_signature_connector.install
+++ b/modules/search_api_aws_signature_connector/search_api_aws_signature_connector.install
@@ -23,3 +23,21 @@ function search_api_aws_signature_connector_requirements(string $phase): array {
   }
   return [];
 }
+
+/**
+ * Update server configuration with value for server new settings.
+ */
+function search_api_aws_signature_connector_update_10201(&$sandbox) {
+  $servers = Server::loadMultiple();
+  foreach ($servers as $server) {
+    if ($server->getBackend()->getPluginId() === 'opensearch') {
+      $backend_config = $server->getBackendConfig();
+      if (!isset($backend_config['connector_config']['aws_service'])) {
+        // Set a default value for aws_service.
+        $backend_config['advanced']['aws_service'] = 'es';
+        $server->setBackendConfig($backend_config);
+        $server->save();
+      }
+    }
+  }
+}
diff --git a/modules/search_api_aws_signature_connector/src/Plugin/OpenSearch/Connector/AwsSignatureConnector.php b/modules/search_api_aws_signature_connector/src/Plugin/OpenSearch/Connector/AwsSignatureConnector.php
index 37e5c44..9a915cd 100644
--- a/modules/search_api_aws_signature_connector/src/Plugin/OpenSearch/Connector/AwsSignatureConnector.php
+++ b/modules/search_api_aws_signature_connector/src/Plugin/OpenSearch/Connector/AwsSignatureConnector.php
@@ -17,6 +17,16 @@ use Drupal\search_api_opensearch\Plugin\OpenSearch\Connector\StandardConnector;
  */
 class AwsSignatureConnector extends StandardConnector {
 
+  /**
+   * Machine name of open search service.
+   */
+  const OPEN_SEARCH_SERVICE = 'es';
+
+  /**
+   * Machine name of open search serverless.
+   */
+  const OPEN_SEARCH_SERVERLESS = 'aoss';
+
   /**
    * {@inheritdoc}
    */
@@ -24,6 +34,7 @@ class AwsSignatureConnector extends StandardConnector {
     $options = parent::getClientOptions() + [
       'auth_aws' => [
         'region' => $this->configuration['aws_region'] ?? 'us-east-1',
+        'service' => $this->configuration['aws_service'] ?? self::OPEN_SEARCH_SERVICE,
       ],
     ];
 
@@ -45,6 +56,7 @@ class AwsSignatureConnector extends StandardConnector {
       'api_key' => '',
       'api_secret' => '',
       'aws_region' => '',
+      'aws_service' => self::OPEN_SEARCH_SERVICE,
     ];
   }
 
@@ -96,6 +108,21 @@ class AwsSignatureConnector extends StandardConnector {
       ),
     ];
 
+    $form['aws_service'] = [
+      '#type' => 'select',
+      '#title' => $this->t('AWS Service'),
+      '#default_value' => $this->configuration['aws_service'] ?? self::OPEN_SEARCH_SERVICE,
+      '#options' => [
+        self::OPEN_SEARCH_SERVICE => t('OpenSearch'),
+        self::OPEN_SEARCH_SERVERLESS => t('OpenSearch Serverless'),
+      ],
+      '#required' => FALSE,
+      '#description' => $this->t(
+        "If you don't set this field, you must set it in your settings.php \$config['search_api.server.@machine-name']['backend_config']['connector_config']['aws_service'].",
+        ['@machine-name' => $machine_name ?: '{machine_name}']
+      ),
+    ];
+
     return $form;
   }
 
@@ -108,6 +135,7 @@ class AwsSignatureConnector extends StandardConnector {
     $this->configuration['api_key'] = trim($form_state->getValue('api_key'));
     $this->configuration['api_secret'] = trim($form_state->getValue('api_secret'));
     $this->configuration['aws_region'] = trim($form_state->getValue('aws_region'));
+    $this->configuration['aws_service'] = trim($form_state->getValue('aws_service'));
   }
 
 }
