Jump to content

Keresés szöveg részletben...


BIstvan

Recommended Posts

Másik fórumról áthozott felvetés:

 

 

A problémám a következő:

Van pl egy notebook, aminek ilyen neve van: notebook Dell Intel Core i5-3317

A problémám az, hogy ha valaki csak annyit ír, hogy 3317 vagy i5 3317, akkor nem találja meg a kereső...

Van arra valami megoldás, hogy szöveg részletekre is keressen a kereső?

 

 

Erre találtam egy megoldást innen:

 

http://www.prestashop.com/forums/topic/99078-a-big-problem-of-search-issues-in-front-office/

 

thienxu a szerző

 

 

Ezzel jól keres a szórészletekre, de a termékleírásban egyáltalán nem tud keresni.

Ezt lenne jó ötvözni, hogy a terméknévben és a termékleírásban is találjon 3 karakter beírására.

Link to comment
Share on other sites

nekem eddig nem volt ilyennel gond, szövegrészletre is keresnek a shopok. Adminban a keresés alatt az ajax-al bűvészkedtél már?

Illetőleg real-time keresés be van kapcsolva a shopodon, vagyis ahogy elkezdi írni 3 karakter után hozza a találatokat a kereső alatt egy listában anélkül hogy a keresés gombra kellene nyomnod?

Link to comment
Share on other sites

Mivel távirányítót árulok pl BN59-00370A a terméknévben nem talál a 370 beírásra semmit.

A realtime keresés az működik.

A BO-n nincs realtime keresés, de ott megtalálja a terméknévben levő 3 karakter alapján a terméket.

Ezt a két féle keresést jó lenne ötvözni.

Ebben kérnék segítséget!

Link to comment
Share on other sites

hát én akárhogy is nézem a legnagyobb webáruházamban, nekem működik.

Pl.:

termék neve:

Állatszett - Dinoszauruszok

 

ha most arra keresek rá, hogy: Din

akkor megtalálja.

 

A leírása pedig:

Műanyag állatszett dinoszauruszokkal. A szett tartalma 4 db dínó (pl: T-rex, triceratops, tyranosaurusz stb.)

 

ha pedig most arra keresek rá, hogy: "tyr" (ugye a tyranosaurusz-ból) akkor is megtalálja.

Link to comment
Share on other sites

http://www.jatek-webaruhaz.net az oldalad?

 

Mert ott pl kiragadok a terméknévből 4 betűt nem találja, ha a termékleírásból 4 betűt azt sem találja.

 

Pl: a delfinvarázs terméknél a leírásból kiemelem a eatí részt, nincs találat

terméknévből kiemelve inva, szintén nincs találat.

 

 

Az oldalad így nem tudja a topiccímet teljesíteni.

A thienxu módosításával a terméknevekből mindent megtalál, csak sajnos a termékleírásban nem keres.

Link to comment
Share on other sites

Persze újra és újra elolvasva a hozzászólásodat, rájöttem arra, hogy tévesen értelmezted, mert amit felhoztál példának azokban a szövegek elejét kerestetted.

Nem ez a lényeg.

Mindenhol, minden részletet találjon meg a kereső.

Link to comment
Share on other sites

na okés...

 

belenéztem a kódba. "thienxu" módosítását ennyivel módosítanám:

 

 

$intersectArray[] = 'SELECT distinct p.id_product
FROM ps_product p
LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product AND pl.id_lang = '.(int)$id_lang.')
WHERE pl.name LIKE \'%'.pSQL($expr).'%\' OR pl.description LIKE \'%'.pSQL($expr).'%\'';

 

így próbáld meg... nekem működik. Tehát: keresés a nevekben és annak részleteiben, keresés a leírásban és annak részleteiben.

Edited by pattila01 (see edit history)
  • Like 1
Link to comment
Share on other sites

foreach ($words AS $key => $word)

if (!empty($word) AND strlen($word) >= (int)Configuration::get('PS_SEARCH_MINWORDLEN'))

{

$word = str_replace('%', '\\%', $word);

$word = str_replace('_', '\\_', $word);

 

$intersectArray[] = 'SELECT 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.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] != '-')

$scoreArray[] = 'sw.word LIKE \''.pSQL(Tools::substr($word, 0, PS_SEARCH_MAX_WORD_LENGTH)).'%\'';

}

else

unset($words[$key]);

 

 

ezt kell lecserélni arra amit pattila01 írt.

Edited by BIstvan (see edit history)
Link to comment
Share on other sites

nos, találtam az egyik fórumon egy ilyet és kipróbáltam és mindenhol keress

csak ennyit kellett beírni a search.php-ba

$word ='%'.$word.'%';

 

kb. a 185-ik sor felé kell beírni és mindenhol keres, kategória, termék név részletben, leírásban, és még ajaxosan is keres termék névben

 

$word = str_replace('%', '\\%', $word);

$word = str_replace('_', '\\_', $word);

ezek után kell beírni és müxik

Edited by feri (see edit history)
Link to comment
Share on other sites

feri köszönöm neked is!

Így komplett a keresés, ráadásul real-time is müxik.

**********************

feri 23 számú bejegyzése tényleg egyszerű és nagyszerű megoldás. Működik is.

Ehhez csak annyi kiegésszítés, hogy az 1.4.8.2 verzióban a classes könyvtárban kell keresni és megváltoztatni a feri álltal leírt módon a Search.php

Link to comment
Share on other sites

  • 1 year later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...