Stránka 1 z 2
Nedostatek ve vyhledávání ve fóru
Napsal: 12 zář 2009, 09:35
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.
Napsal: 12 zář 2009, 10:51
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.
Napsal: 12 zář 2009, 21:03
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.
Napsal: 12 zář 2009, 21:13
od rnbw
Tu nejde o ziadne PHP (to je programovaci jazyk), ale o to, ze sa neindexuju slova kratsie ako 3 znaky.
Napsal: 13 zář 2009, 12:57
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....
Napsal: 13 zář 2009, 15:31
od rnbw
Vyhladavaci index ma skoro vzdy viac ako samotne data. To je fakt a nie je to o "efektivite phpbb".
Napsal: 13 zář 2009, 15:52
od masar
Skoro se mně chce zeptat " ...a o čem to tedy je?"

Napsal: 13 zář 2009, 16:47
od rnbw
O principe fulltextoveho vyhladavania.
Napsal: 13 zář 2009, 17:09
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....
Napsal: 13 zář 2009, 18:34
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...
Napsal: 13 zář 2009, 18:34
od masar
rnbw píše:O principe fulltextoveho vyhladavania.
Aha...ehm...pardon.

Napsal: 14 zář 2009, 11:27
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

Napsal: 14 zář 2009, 12:12
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.
Napsal: 14 zář 2009, 12:29
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..)
Napsal: 14 zář 2009, 12:37
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...