diff --git a/core/modules/migrate_drupal/src/Tests/Table/d7/Variable.php b/core/modules/migrate_drupal/src/Tests/Table/d7/Variable.php
index cef570e..64e34d1 100644
--- a/core/modules/migrate_drupal/src/Tests/Table/d7/Variable.php
+++ b/core/modules/migrate_drupal/src/Tests/Table/d7/Variable.php
@@ -287,12 +287,18 @@ public function load() {
       'name' => 'search_active_modules',
       'value' => 'a:2:{s:4:"node";s:4:"node";s:4:"user";s:4:"user";}',
     ))->values(array(
+      'name' => 'search_and_or_limit',
+      'value' => 'i:7;',
+    ))->values(array(
       'name' => 'search_cron_limit',
       'value' => 's:3:"100";',
     ))->values(array(
       'name' => 'search_default_module',
       'value' => 's:4:"node";',
     ))->values(array(
+      'name' => 'search_tag_weights',
+      'value' => 'a:12:{s:2:"h1";i:25;s:2:"h2";i:18;s:2:"h3";i:15;s:2:"h4";i:12;s:2:"h5";i:9;s:2:"h6";i:6;s:1:"u";i:3;s:1:"b";i:3;s:1:"i";i:3;s:6:"strong";i:3;s:2:"em";i:3;s:1:"a";i:10;}',
+    ))->values(array(
       'name' => 'simpletest_clear_results',
       'value' => 'b:1;',
     ))->values(array(
@@ -470,4 +476,4 @@ public function load() {
   }
 
 }
-#e0f7be890a222531c707941d0fedf479
+#a571d354b6652603b017f9647ce0975e
diff --git a/core/modules/search/migration_templates/d7_search_settings.yml b/core/modules/search/migration_templates/d7_search_settings.yml
new file mode 100644
index 0000000..1da226c
--- /dev/null
+++ b/core/modules/search/migration_templates/d7_search_settings.yml
@@ -0,0 +1,24 @@
+id: d7_search_settings
+label: Drupal 7 search configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  constants:
+    status: true
+  variables:
+    - minimum_word_size
+    - overlap_cjk
+    - search_cron_limit
+    - search_tag_weights
+    - search_and_or_limit
+process:
+  'index/minimum_word_size': minimum_word_size
+  'index/overlap_cjk': overlap_cjk
+  'index/cron_limit': search_cron_limit
+  'index/tag_weights': search_tag_weights
+  and_or_limit: search_and_or_limit
+  logging: 'constants/status'
+destination:
+  plugin: config
+  config_name: search.settings
diff --git a/core/modules/search/src/Tests/Migrate/d6/MigrateSearchConfigsTest.php b/core/modules/search/src/Tests/Migrate/d6/MigrateSearchSettingsTest.php
similarity index 88%
rename from core/modules/search/src/Tests/Migrate/d6/MigrateSearchConfigsTest.php
rename to core/modules/search/src/Tests/Migrate/d6/MigrateSearchSettingsTest.php
index 4cb4298..6b08fe5 100644
--- a/core/modules/search/src/Tests/Migrate/d6/MigrateSearchConfigsTest.php
+++ b/core/modules/search/src/Tests/Migrate/d6/MigrateSearchSettingsTest.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains \Drupal\search\Tests\d6\Migrate\SearchConfigsTest.
+ * Contains \Drupal\search\Tests\Migrate\d6\MigrateSearchSettingsTest.
  */
 
 namespace Drupal\search\Tests\Migrate\d6;
@@ -15,7 +15,7 @@
  *
  * @group search
  */
-class MigrateSearchConfigsTest extends MigrateDrupal6TestBase {
+class MigrateSearchSettingsTest extends MigrateDrupal6TestBase {
 
   use SchemaCheckTestTrait;
 
diff --git a/core/modules/search/src/Tests/Migrate/d7/MigrateSearchSettingsTest.php b/core/modules/search/src/Tests/Migrate/d7/MigrateSearchSettingsTest.php
new file mode 100644
index 0000000..dc31d15
--- /dev/null
+++ b/core/modules/search/src/Tests/Migrate/d7/MigrateSearchSettingsTest.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\search\Tests\Migrate\d7\MigrateSearchSettingsTest.
+ */
+
+namespace Drupal\search\Tests\Migrate\d7;
+
+use Drupal\migrate_drupal\Tests\d7\MigrateDrupal7TestBase;
+
+/**
+ * Tests migration of Search variables to configuration.
+ *
+ * @group search
+ */
+class MigrateSearchSettingsTest extends MigrateDrupal7TestBase {
+
+  public static $modules = ['search'];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->loadDumps(['Variable.php']);
+    $this->executeMigration('d7_search_settings');
+  }
+
+  /**
+   * Tests the migration of Search's variables to configuration.
+   */
+  public function testSearchSettings() {
+    $config = $this->config('search.settings');
+    $this->assertIdentical(4, $config->get('index.minimum_word_size'));
+    $this->assertTrue($config->get('index.overlap_cjk'));
+    $this->assertIdentical(100, $config->get('index.cron_limit'));
+    $this->assertIdentical(7, $config->get('and_or_limit'));
+    $this->assertIdentical(25, $config->get('index.tag_weights.h1'));
+    $this->assertIdentical(18, $config->get('index.tag_weights.h2'));
+    $this->assertIdentical(15, $config->get('index.tag_weights.h3'));
+    $this->assertIdentical(12, $config->get('index.tag_weights.h4'));
+    $this->assertIdentical(9, $config->get('index.tag_weights.h5'));
+    $this->assertIdentical(6, $config->get('index.tag_weights.h6'));
+    $this->assertIdentical(3, $config->get('index.tag_weights.u'));
+    $this->assertIdentical(3, $config->get('index.tag_weights.b'));
+    $this->assertIdentical(3, $config->get('index.tag_weights.i'));
+    $this->assertIdentical(3, $config->get('index.tag_weights.strong'));
+    $this->assertIdentical(3, $config->get('index.tag_weights.em'));
+    $this->assertIdentical(10, $config->get('index.tag_weights.a'));
+    $this->assertTrue($config->get('logging'));
+  }
+
+}
