diff --git a/app/code/Magento/Search/Block/Term.php b/app/code/Magento/Search/Block/Term.php
index d92ba03bfcff80814a4aab2b054f7794034ada2c..ee62129051b9791362b9876eb65ee411413eddcb 100644
--- a/app/code/Magento/Search/Block/Term.php
+++ b/app/code/Magento/Search/Block/Term.php
@@ -95,8 +95,8 @@ class Term extends Template
                     continue;
                 }
                 $term->setRatio(($term->getPopularity() - $this->_minPopularity) / $range);
-                $temp[$term->getName()] = $term;
-                $termKeys[] = $term->getName();
+                $temp[$term->getData('query_text')] = $term;
+                $termKeys[] = $term->getData('query_text');
             }
             natcasesort($termKeys);
 
@@ -128,7 +128,7 @@ class Term extends Template
          * url encoding will be done in Url.php http_build_query
          * so no need to explicitly called urlencode for the text
          */
-        $url->setQueryParam('q', $obj->getName());
+        $url->setQueryParam('q', $obj->getData('query_text'));
         return $url->getUrl('catalogsearch/result');
     }
 
diff --git a/app/code/Magento/Search/view/frontend/templates/term.phtml b/app/code/Magento/Search/view/frontend/templates/term.phtml
index 4285b42fa0329bb8a7f0713d335a0a0494b9facd..8acee0cf3d408b2743acb56702a9b6c49ca4c2e5 100644
--- a/app/code/Magento/Search/view/frontend/templates/term.phtml
+++ b/app/code/Magento/Search/view/frontend/templates/term.phtml
@@ -13,7 +13,7 @@
             <li class="item">
                 <a href="<?= /* @escapeNotVerified */ $block->getSearchUrl($_term) ?>"
                    style="font-size:<?= /* @escapeNotVerified */ $_term->getRatio()*70+75 ?>%;">
-                    <?= $block->escapeHtml($_term->getName()) ?>
+                    <?= $block->escapeHtml($_term->getData('query_text')) ?>
                 </a>
             </li>
         <?php endforeach; ?>
diff --git a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/TermTest.php b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/TermTest.php
index a6b0fcc463e1df3f39d3373d7dad876fdfb96d94..bc1bc3a79688b28c174020a966a916b11cfe2f38 100644
--- a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/TermTest.php
+++ b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/TermTest.php
@@ -24,7 +24,7 @@ class TermTest extends \PHPUnit\Framework\TestCase
     public function testGetSearchUrl()
     {
         $query = uniqid();
-        $obj = new \Magento\Framework\DataObject(['name' => $query]);
+        $obj = new \Magento\Framework\DataObject(['query_text' => $query]);
         $this->assertStringEndsWith("/catalogsearch/result/?q={$query}", $this->_block->getSearchUrl($obj));
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Search/Block/TermTest.php b/dev/tests/integration/testsuite/Magento/Search/Block/TermTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..08645869f36cb50170cfbac539cde520b1b7cd56
--- /dev/null
+++ b/dev/tests/integration/testsuite/Magento/Search/Block/TermTest.php
@@ -0,0 +1,117 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+
+namespace Magento\Search\Block;
+
+use Magento\Framework\ObjectManagerInterface;
+use Magento\Framework\View\LayoutInterface;
+
+/**
+ * Tests Magento\Search\Block\Term.
+ *
+ * @magentoAppIsolation enabled
+ * @magentoDbIsolation enabled
+ */
+class TermTest extends \PHPUnit\Framework\TestCase
+{
+    /**
+     * @var ObjectManagerInterface
+     */
+    private $objectManager;
+
+    /**
+     * @var Term
+     */
+    private $term;
+
+    /**
+     * Tests Magento\Search\Block\Term::GetTerms.
+     *
+     * @magentoDataFixture Magento/Search/_files/query.php
+     * @dataProvider getTermsDataProvider
+     * @param array $expected
+     */
+    public function testGetTerms(array $expected)
+    {
+        $result = $this->term->getTerms();
+        $actual = array_map(function ($object) {
+            return $object->setUpdatedAt(null)->getData();
+        },
+            $result);
+
+        self::assertEquals(
+            $expected,
+            $actual
+        );
+    }
+
+    /**
+     * Data provider for testGetTerms.
+     *
+     * @return array
+     */
+    public function getTermsDataProvider()
+    {
+        return [
+            [
+                [
+                    '1st query' =>
+                        [
+                            'query_id' => '1',
+                            'query_text' => '1st query',
+                            'num_results' => '1',
+                            'popularity' => '5',
+                            'redirect' => null,
+                            'store_id' => '1',
+                            'display_in_terms' => '1',
+                            'is_active' => '1',
+                            'is_processed' => '1',
+                            'updated_at' => null,
+                            'ratio' => 0.44444444444444,
+                        ],
+                    '2nd query' =>
+                        [
+                            'query_id' => '2',
+                            'query_text' => '2nd query',
+                            'num_results' => '1',
+                            'popularity' => '10',
+                            'redirect' => null,
+                            'store_id' => '1',
+                            'display_in_terms' => '1',
+                            'is_active' => '1',
+                            'is_processed' => '1',
+                            'updated_at' => null,
+                            'ratio' => 1,
+                        ],
+                    '3rd query' =>
+                        [
+                            'query_id' => '3',
+                            'query_text' => '3rd query',
+                            'num_results' => '1',
+                            'popularity' => '1',
+                            'redirect' => null,
+                            'store_id' => '1',
+                            'display_in_terms' => '1',
+                            'is_active' => '1',
+                            'is_processed' => '1',
+                            'updated_at' => null,
+                            'ratio' => 0,
+                        ],
+                ],
+            ],
+        ];
+    }
+
+    protected function setUp()
+    {
+        $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+        $this->term = $this->objectManager->get(
+            LayoutInterface::class
+        )->createBlock(
+            Term::class
+        );
+    }
+}
diff --git a/dev/tests/integration/testsuite/Magento/Search/_files/query.php b/dev/tests/integration/testsuite/Magento/Search/_files/query.php
new file mode 100644
index 0000000000000000000000000000000000000000..f088da0e83a57b48d491b0685af387c80399aebf
--- /dev/null
+++ b/dev/tests/integration/testsuite/Magento/Search/_files/query.php
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+
+$queries = [
+    [
+        'text' => '1st query',
+        'results' => 1,
+        'popularity' => 5,
+        'display' => 1,
+        'active' => 1,
+        'processed' => 1
+    ],
+    [
+        'text' => '2nd query',
+        'results' => 1,
+        'popularity' => 10,
+        'display' => 1,
+        'active' => 1,
+        'processed' => 1
+    ],
+    [
+        'text' => '3rd query',
+        'results' => 1,
+        'popularity' => 1,
+        'display' => 1,
+        'active' => 1,
+        'processed' => 1
+    ],
+    [
+        'text' => '4th query',
+        'results' => 0,
+        'popularity' => 1,
+        'display' => 1,
+        'active' => 1,
+        'processed' => 1
+    ],
+];
+
+foreach ($queries as $queryData) {
+    /** @var $queryData \Magento\Search\Model\Query */
+    $query = $objectManager->create(\Magento\Search\Model\Query::class);
+    $query->setStoreId(1);
+    $query->setQueryText(
+        $queryData['text']
+    )->setNumResults(
+        $queryData['results']
+    )->setPopularity(
+        $queryData['popularity']
+    )->setDisplayInTerms(
+        $queryData['display']
+    )->setIsActive(
+        $queryData['active']
+    )->setIsProcessed(
+        $queryData['processed']
+    );
+    $query->save();
+}
diff --git a/dev/tests/integration/testsuite/Magento/Search/_files/query_rollback.php b/dev/tests/integration/testsuite/Magento/Search/_files/query_rollback.php
new file mode 100644
index 0000000000000000000000000000000000000000..5bf123fcd96edb30e3ab77c551174be29e6ef376
--- /dev/null
+++ b/dev/tests/integration/testsuite/Magento/Search/_files/query_rollback.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+
+/** @var $query \Magento\Search\Model\Query */
+$query = $objectManager->get(\Magento\Search\Model\Query::class);
+
+$queries = [
+    '1st query',
+    '2nd query',
+    '3rd query',
+    '4th query',
+];
+
+foreach ($queries as $queryText) {
+    try {
+        $query->loadByQueryText($queryText);
+        $query->delete();
+    }  catch (\Magento\Framework\Exception\NoSuchEntityException $exception) {
+    }
+}