/** * @param \Magento\Framework\App\Request\Http $request * @return string */ protected function getSearchQuery($request) { $ignored = ['html', 'php', 'catalog', 'catalogsearch', 'search', 'rma', 'account', 'customer', 'helpdesk', 'wishlist', 'newsletter', 'contact', 'sendfriend', 'product_compare', 'review', 'product', 'checkout', 'paypal', 'sales', 'downloadable', 'rewards', 'credit']; $maxQueryLength = 128; $expr = '/(\\W|' . implode('|', $ignored) . ')+/'; $requestString = preg_replace($expr, ' ', $request->getRequestString()); $terms = preg_split('/[ \\- \\/_]/', $requestString); $terms = array_filter(array_unique($terms)); return trim(substr(implode(' ', $terms), 0, $maxQueryLength)); }