Diskuze: Fulltextové vyhledávání v MySQL - Relevance a plus
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 7 zpráv z 7.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Pokial sa nemylim tak multislovne vyhladavanie nemusis davat osobitne s + ale das do zatvoriek, takze
WHERE MATCH (title, description, content) AGAINST ( '+(php pole) -(mysql)' IN BOOLEAN MODE)
vrati texty s 'php' a 'pole' ale nesmie obsahovat 'mysql'.
Relevancia funguje tak, ze ak hladas napr 'php' a najde ti 500 textov, tak nema velku relevanciu, neni takzvane unikatne a tieto vysledky budu mat nizsiu relevanciu. Ak slovo 'pole' najde len 10krat tak ma o dost vacsiu relevanciu a texty s tymto slovom ziskaju vyssie score. Skore moze byt od nula do jedna, ale videl som uz aj nad 1.
Pre vytvorenie ukazky obal slovo 5 slovami pred aj po. Ak je viac slov a je medzi nimi viac slov tak tam hod 3 bodky. Urcite by som nedaval v ukazke viac ako 20 slov.
Ak najdes nejaku kniznicu, daj vediet. Rad si pozriem riesenia. Pred casom som riesil stranku s 25000 produktami. Tam sme si to exportovali cronom kazdy den do SOLR a potom solr je uzasne vykonne na taketo fulltext hladania.
este som tam nasiel
“” Defines a phrase (as opposed to a list of individual words, the entire phrase is matched for inclusion or exclusion).
vyskusaj to dat do tychto uvodzoviek a pred uvodzovky daj +
Ahoj, díky za reakci. Zkusil jsem to, bohužel jsem se nedobral žádných výsledků.
$phrase = '+"C++"*'
to nebere vůbec. Když zadám:
$phrase = '"C++"'
Tak to sežere, ale nic to nevyhledá. Našel jsem ještě topic na stacku - http://stackoverflow.com/…p-the-term-c, mění se tam nastavní MySQL, aby vyhledávala ve fulltextu i kratší slova, i po změně to ale nic nenajde. Ještě to možná zkusím na nějakém menším dotazu, ale spíše to dám k ledu a budu dále využívat Google.
Mam pocit ze si nasiel odpoved sam. V jednej odpovedi sa tam pise, ze si mas nastavit
[mysqld]
ft_min_word_len=3
Ja som robil test s mojim nastavenim kde mam minimalnu dlzku slova 4. Do
tabulky som si vlozil 'cccc++' a hladal som 'cccc' alebo 'cccc++' v oboch
pripadoch mi to naslo ten jeden riadok. Z toho predpokladam ze mysql si +
odstrani z query stringu a vobec ho nehlada. V tvojom pripade ak chces najst c++
tak by som este znizil hodnotu minimalnej dlzky slova na 1. Predpokladam ze
cestina nepouziva samotne c casto a tak ked budu ludia hladat c++ bude to vracat
relevantne vysledky. 
Prikladam obrazok z predosleho komentu
Dalsia moznost je ze si namapujes fulltext boolean syntax s inymi znakmi kde
tvoje + nebude.
ft_boolean_syntax = + -><()~*:""&|
zn: toto tiez nie je super riesenie, lebo potom ziskas + ale stratis iny znak

To nastavení jsem právě měnil... Zkusim to na nějakém jednodušším dotazu.
Zobrazeno 7 zpráv z 7.