Autor Zpráva
sparky
Profil *
Mám vyhledávání z tabulky databáze - SELECT title FROM table WHERE title LIKE %slovo% - výsledek jsou řádky které obsahují jakýkoliv záznam kde je "slovo". Např. hledám slovo "bus" v tabulce mám autobus, trolejbus - výsledek je autobus i trolejbus.

Poté mám vyhledávání - SELECT title FROM table WHERE MATCH (title) AGAINST (slovo IN BOOLEAN MODE) - ve stejném případě, kdy hledám slovo "bus" a v tabulce mám autobus, trolejbus, tak výsledek bude nic

Zkusil jsem: Zkoušel jsem dotaz SELECT title FROM table WHERE MATCH (title) AGAINST (slovo IN BOOLEAN MODE) s operátorem * (slovo), ale to funguje jen pouze když záznam v tabulce začíná na hledané slovo.

Chci docílit: Chtěl bych dosáhnout, abych fulltextovým vyhledáváním dosáhl výsledku jako při dotazu s LIKE %slovo%

Děkuji
Kajman
Profil
MysQL - urychlení dotazu LIKE
sparky
Profil *
Kajman:
Potom bych měl ještě doplňující otázku. vyhledávání na velkých eshopech typu Alza, CZC... používají fulltextové vyhledáváná MySQL nebo je to řešeno nějakou nadstavbou? Díky
juriad
Profil
Nevím co používají, ale dost pravděpodobně to bude ElasticSearch nebo Solr. Mimochodem, Alza zřejmě není spokojená s kvalitou vyhledávání: www.alza.cz/kariera/fulltextove-a-semanticke-vyhledavani-na-webu-eshopu-art14293.htm
CZC používá Solr: www.czc.cz/release-notes/clanek

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0