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..1cd3053
--- /dev/null
+++ b/core/modules/search/migration_templates/d7_search_settings.yml
@@ -0,0 +1,28 @@
+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
+dependencies:
+  module:
+    - migrate_drupal
+    - search
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..95e4508
--- /dev/null
+++ b/core/modules/search/src/Tests/Migrate/d7/MigrateSearchSettingsTest.php
@@ -0,0 +1,58 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\search\Tests\d7\MigrateSearchSettingsTest.
+ */
+
+namespace Drupal\search\Tests\Migrate\d7;
+
+use Drupal\migrate\Entity\Migration;
+use Drupal\migrate\MigrateExecutable;
+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->installConfig(static::$modules);
+    $this->loadDumps(['Variable.php']);
+    $this->executeMigration('d7_search_settings');
+  }
+
+  /**
+   * Tests the migration of Search's variables to configuration.
+   */
+  public function testMigration() {
+    $config = \Drupal::config('search.settings')->get();
+    $this->assertIdentical(4, $config['index']['minimum_word_size']);
+    $this->assertTrue($config['index']['overlap_cjk']);
+    $this->assertIdentical(100, $config['index']['cron_limit']);
+    $this->assertIdentical(7, $config['and_or_limit']);
+    $this->assertIdentical(25, $config['index']['tag_weights']['h1']);
+    $this->assertIdentical(18, $config['index']['tag_weights']['h2']);
+    $this->assertIdentical(15, $config['index']['tag_weights']['h3']);
+    $this->assertIdentical(12, $config['index']['tag_weights']['h4']);
+    $this->assertIdentical(9, $config['index']['tag_weights']['h5']);
+    $this->assertIdentical(6, $config['index']['tag_weights']['h6']);
+    $this->assertIdentical(3, $config['index']['tag_weights']['u']);
+    $this->assertIdentical(3, $config['index']['tag_weights']['b']);
+    $this->assertIdentical(3, $config['index']['tag_weights']['i']);
+    $this->assertIdentical(3, $config['index']['tag_weights']['strong']);
+    $this->assertIdentical(3, $config['index']['tag_weights']['em']);
+    $this->assertIdentical(10, $config['index']['tag_weights']['a']);
+
+    $this->assertTrue($config['logging']);
+  }
+
+}
