mlopes66 Posted December 10, 2014 Share Posted December 10, 2014 A pesquisa funciona muito bem excepto quando se tenta pesquisar por números da referência (SKU) por ex. se colocar 55.54323 ele encontra, se colocar só 54323 já não encontra... Assim como só encontra os termos certos na BD, por ex. se colocar lâmpada encontra, se colocar lâmpadas, já não encontra... Há alguma forma de contornar isto? Link to comment Share on other sites More sharing options...
mlopes66 Posted December 10, 2014 Author Share Posted December 10, 2014 A pesquisa funciona muito bem excepto quando se tenta pesquisar por números da referência (SKU) por ex. se colocar 55.54323 ele encontra, se colocar só 54323 já não encontra... Assim como só encontra os termos certos na BD, por ex. se colocar lâmpada encontra, se colocar lâmpadas, já não encontra... Há alguma forma de contornar isto? Problema resolvido por consulta a outro tópico... Já agora e se alguém precisar aqui fica o código a alterar no ficheiro search.php (root/classes/) foreach ($words as $key => $word) if (!empty($word) && strlen($word) >= (int)Configuration::get('PS_SEARCH_MINWORDLEN')) { $word = str_replace('%', '\\%', $word); $word = str_replace('_', '\\_', $word); $intersect_array[] = 'SELECT si.id_product FROM '._DB_PREFIX_.'search_word sw LEFT JOIN '._DB_PREFIX_.'search_index si ON sw.id_word = si.id_word WHERE sw.id_lang = '.(int)$id_lang.' AND sw.id_shop = '.$context->shop->id.' AND sw.word LIKE '.($word[0] == '-' ? ' \'%'.pSQL(Tools::substr($word, 1, PS_SEARCH_MAX_WORD_LENGTH)).'%\'' : '\'%'.pSQL(Tools::substr($word, 0, PS_SEARCH_MAX_WORD_LENGTH)).'%\'' ); if ($word[0] != '-') $score_array[] = 'sw.word LIKE \'%'.pSQL(Tools::substr($word, 0, PS_SEARCH_MAX_WORD_LENGTH)).'%\''; } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now