Nedostatek ve vyhledávání ve fóru

❓ Připomínky a dotazy pro administrátory a moderátory. Zde řešte problémy s přihlášením či heslem, můžete navrhnout otevření nové rubriky v diskuzním fóru či napsat případné připomínky k portálu nebo diskuzi.

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
Crifodo
Příspěvky: 14779
Registrován: 11 říj 2005, 00:00

Nedostatek ve vyhledávání ve fóru

#1 Příspěvek od Crifodo »

Zjistil jsem že při zadání kombinace všechna slova a následném vyhledávání je volba více slov (AND) neúčinná pokud jedno slovo má míň než tři znaky. Takže třeba zadání Fe plech vrací všechny příspěvky kde je slovo plech.
Uživatelský avatar
Hill
Administrátor
Příspěvky: 21233
Registrován: 10 zář 2004, 02:00
Bydliště: Jičín, Český ráj

#2 Příspěvek od Hill »

Ano, o tom víme, už jsme to tu kdysi zkoušeli vyřešit. Pod tři znaky neumí php vyhledat nic. Konečně stejný problém má většina fór a vyhledávačů, které to obcházejí více či méně úspěšně.
Funkci "hledej přesný výraz, jak je zadán" se tu nepodařilo rozchodit vůbec.
Uživatelský avatar
Crifodo
Příspěvky: 14779
Registrován: 11 říj 2005, 00:00

#3 Příspěvek od Crifodo »

hmmm :( takže zase jednou zvítězila neživá hmota nad člověkem.
Google i Seznam to zvládá, asi nepoužívá PHP.
Uživatelský avatar
rnbw
Příspěvky: 37416
Registrován: 21 bře 2006, 00:00
Bydliště: Bratislava

#4 Příspěvek od rnbw »

Tu nejde o ziadne PHP (to je programovaci jazyk), ale o to, ze sa neindexuju slova kratsie ako 3 znaky.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#5 Příspěvek od ZdenekHQ »

Kdyby to indexovalo i dva znaky, tak ten vyhledávací soubor nebude mít 135MB jako teď, ale podstatně víc a tohle fórum by už dávno neběželo...

Mimochodem, má větší velikost, než samotná databáze příspěvků, to taky nasvědčuje něco o efektivitě phpbb....
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Uživatelský avatar
rnbw
Příspěvky: 37416
Registrován: 21 bře 2006, 00:00
Bydliště: Bratislava

#6 Příspěvek od rnbw »

Vyhladavaci index ma skoro vzdy viac ako samotne data. To je fakt a nie je to o "efektivite phpbb".
masar
Příspěvky: 14452
Registrován: 03 pro 2005, 00:00

#7 Příspěvek od masar »

Skoro se mně chce zeptat " ...a o čem to tedy je?" :wink:
Uživatelský avatar
rnbw
Příspěvky: 37416
Registrován: 21 bře 2006, 00:00
Bydliště: Bratislava

#8 Příspěvek od rnbw »

O principe fulltextoveho vyhladavania.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#9 Příspěvek od ZdenekHQ »

Kdyby se tady mluvilo jen anglicky, má třetinovou velikost. Ale to je čeština, "moravština" , po slovensky a ještě ta nečitelná řeč tatrmanů ve dvaceti mutacích....
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Uživatelský avatar
rnbw
Příspěvky: 37416
Registrován: 21 bře 2006, 00:00
Bydliště: Bratislava

#10 Příspěvek od rnbw »

Ano, s tymi roznymi tvarmi jedneho slova je to problem. Google to ma nejako vyriesene, ale obcas ma to serie, ked to potom hlada ine veci ako chcem...
masar
Příspěvky: 14452
Registrován: 03 pro 2005, 00:00

#11 Příspěvek od masar »

rnbw píše:O principe fulltextoveho vyhladavania.

Aha...ehm...pardon. :wink:
Uživatelský avatar
Crifodo
Příspěvky: 14779
Registrován: 11 říj 2005, 00:00

#12 Příspěvek od Crifodo »

Zeptám se jako 🤐, k čemu je tedy dobré indexování když to vzápětí narazí na efektivitu vyhledávání a nakonec to omezí reálnou použitelnost? Jak souvisí indexování s počtem jazyků nebo nářečí? Když pustím mašinu na prosté vyhledávání řetězce v poli prvků, indexovací soubor nepotřebuju a rychlost bude úměrná velikosti databáze a výkonu mašiny.
Nedá se teda vyhledávání od ostatního chodu fóra fyzicky oddělit?
prosím srozumitelně pro laika :roll:
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#13 Příspěvek od ZdenekHQ »

Jde o rychlost a efektivitu. Prohledávat celou databázi kvůli každýmu hledání je velmi zdlouhavý. Takže se vytvoří setříděnej seznam odkazů na slovo a pak už to jde mnohem rychleji. Pokud má slovo dvacet tvarů, bude v indexu bohužel dvacetkrát - to k těm jazykům a nářečím.

http://www.root.cz/clanky/princip-jedno ... lltextu-1/

Efektivita (pozn. - prohledávání celé databáze) je však z hlediska spotřeby zdrojů počítače obdobně nízká jako efektivita člověka hledajícího termín listováním v knize. Na druhé straně tato metoda funguje bez předchozí přípravy.

Naopak než budeme moci využít fulltextového vyhledávání, musíme nejdříve vygenerovat fulltextový index (čili naplnit tabulky FT_Word a FT_Index). Indexováním textu dochází k optimalizaci, protože náročné sekvenční procházení textu se provede pouze jednou. Často opakované vlastní vyhledávání pracuje s vhodně uspořádanými daty a trvá jen zlomek času.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Uživatelský avatar
Crifodo
Příspěvky: 14779
Registrován: 11 říj 2005, 00:00

#14 Příspěvek od Crifodo »

no dobře, tak dejme tomu rozšířením na dvouznaková slova by neúnosně stoupla doba vyhledávání a velikost index. souboru. Ta velikost je nějak technicky omezená?
Nedá se tedy nabídnout volba zda v případě neúspěšného hledání pokračovat v pomalém prohledávání celé databáze? Když budu opravdu potřebovat projet výskyt spojení "ŠR KONEKTOR" tak si holt počkám a místo za pět vteřin mi server pošle odezvu za deset minut.
Lexikální zásoba českého jazyka se udává od 48 000 slov v slovníku veřejné češtiny po asi 250 000 všech možných nepoužívaných tvarů. To mi nepřijde nijak tragické v době TB disků a GHz procesorů.
Nebo co rozlišit volbu hledat buď v indexu slovní zásoby obecného jazyka (to jsou ta nářečí a slang atd.) nebo v indexu věcných termínů (zkratky, typová čísla, cizojazyčné výrazy.) Jak to dělají pindows při projíždění na výskyt řetězce s souborech?
pracuje nějaký engine s rozlišením podle lexikologie? (pády slov, tolerance jiných koncovek, množná čísla, podobný pravopis..)
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#15 Příspěvek od ZdenekHQ »

Výkon běžnýho serveru přidělenej uživateli "elektroworld" s naším programem na hostingu pípni počítej řádově na úrovni Pentium II - a to hodně přidávám. Pust si na takovéto mašině vyhledávání ve 100MB souboru, nejlépe tak 20x naráz a přitom si zahraj třeba DOOM. Uvidíš, co se bude dít...
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Odpovědět

Zpět na „Provoz fóra“