[ Príspevkov: 32 ] 1, 2
AutorSpráva
Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 21.10.08
Príspevky: 226
Témy: 61 | 61
NapísalOffline : 01.07.2009 13:49 | Hladanie na stranke

Nikdy som nerobil hladanie a neviem ako najefektivnejsie ho spravit.. mohli by ste mi napisat ako by to bolo najlepsie?.. pripadne dat link na nejaku stranku kde by to bolo vysvetlene..


Offline

Čestný člen
Čestný člen
Hladanie na stranke

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 01.07.2009 14:02 | Hladanie na stranke

Ale ake hladanie? Coho? Pouzivas databazu?


Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 21.10.08
Príspevky: 226
Témy: 61 | 61
Napísal autor témyOffline : 01.07.2009 14:08 | Hladanie na stranke

Hladanie v clankoch, ktore mam ulozene v databaze...


Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
NapísalOffline : 01.07.2009 14:26 | Hladanie na stranke

Keď už je reč o tom hľadaní, skúšal si čo také hľadanie robí? Lebo by pred tým než napíšeš takúto tému bolo treba vyskúšať to hľadanie.


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 21.10.08
Príspevky: 226
Témy: 61 | 61
Napísal autor témyOffline : 01.07.2009 14:40 | Hladanie na stranke

Hej.. viem co robi hladanie :D..

Mam napisanych napr. 5 clanokv.. a ked dam hladat nejake slovo, ktore sa nachadza v 3 z tych 5 clankov, tak mi zobrazi odkazy na tie clanky.. . to by som vedel spravit.. len neviem ako vyriesim ich poradie (cize prve by mal byt odkaz na ten clanok, ktory obsahuje najviac slov)

ako na wikipedii http://sk.wikipedia.org/w/index.php?tit ... s%C5%A5+na


Offline

Čestný člen
Čestný člen
Hladanie na stranke

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 01.07.2009 14:52 | Hladanie na stranke

Klasicke hladanie by som riesil pomocou SQL "LIKE" operatoru, ale kedze potrebujes zoradit podla poctu slov, asi by som nacital vsetky clanky do pola a pomocou preg_match_all() by som zistoval pocet najdenych slov.
edit: radsej pouzi substr_count().


Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 21.10.08
Príspevky: 226
Témy: 61 | 61
Napísal autor témyOffline : 01.07.2009 15:08 | Hladanie na stranke

dobry napad Dury ;), skusim to natiadnut do pola


Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
NapísalOffline : 01.07.2009 15:28 | Hladanie na stranke

Myslím, že to bude náročne pre parser, skúšal by som nájsť nejakú funkciu v MySQL, ktorá vie spočítať dĺžku výsledku. A keď nie tak si aspoň natiahni len tie výsledky, ktoré sa zhodujú s DB a potom porovnávaj výskyt.


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Skúsený užívateľ
Skúsený užívateľ
Hladanie na stranke

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1586
Témy: 96 | 96
NapísalOffline : 01.07.2009 17:11 | Hladanie na stranke

Na vyhľadávanie jednoznačne fulltext http://dev.mysql.com/doc/refman/5.1/en/ ... earch.html
Aj keď ten sa vyplatí hlavne pri väčších objemoch dát...


Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 21.10.08
Príspevky: 226
Témy: 61 | 61
Napísal autor témyOffline : 01.07.2009 17:38 | Hladanie na stranke

to rooobertek: a ako by sa dal ten fulltext vyuzit v praxi?(nejaky kod), bo na tej stranke tomu moc nerozumiem...


Offline

Skúsený užívateľ
Skúsený užívateľ
Hladanie na stranke

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1586
Témy: 96 | 96
NapísalOffline : 01.07.2009 21:19 | Hladanie na stranke

vytvoríš si tabulku (ty už ju máš). Na jeden stĺpec pridáš fulltextový index (jednoduchý zákrok, znie to pre teba možno odstrašujúco, ale nie je to nič ťažké).
Hľadanie sa robí takýmto spôsobom :
Kód:
SELECT * FROM tabulka WHERE MATCH(stlpec) AGAINST("to co hladas")
Toto ti vyhľadá a automaticky zoradí výsledky podľa toho, čo je ako relevantné. No ale ako hovorím, je to dobré hlavne pri veľa záznamoch.

Pridanie toho fulltextového indexu :
Kód:
ALTER TABLE tabulka ADD FULLTEXT(stlpec);


Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 21.10.08
Príspevky: 226
Témy: 61 | 61
Napísal autor témyOffline : 01.07.2009 22:56 | Hladanie na stranke

aha.. dik, ale nejak mi nechce fungovat toto..
Kód:
$hladat = mysql_query("SELECT * FROM clanky WHERE MATCH(clanok) AGAINST('text')");
echo mysql_num_rows($hladat);

vypise mi vzdy 0 aj ked sa v zazname nachadza slovo text.. Typ tabulky mam ako myISAM bo ako innoDB mi tam neslo dat ten fulltext


Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 01.07.2009 23:51 | Hladanie na stranke

Fulltext podporuje len typ tabulky myISAM ...
Skus takto:

Kód:
$hladat = mysql_query("SELECT * FROM clanky WHERE MATCH(clanok) AGAINST('text' IN BOOLEAN MODE)");
echo mysql_num_rows($hladat);


_________________
"Ženy jsou jako domény. Ty nejlepší jsou zabrané, ale pořád můžete získat nějaké z exotických zemí."
Offline

Skúsený užívateľ
Skúsený užívateľ
Hladanie na stranke

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1586
Témy: 96 | 96
NapísalOffline : 02.07.2009 8:35 | Hladanie na stranke

nezabudol si vytvoriť fulltext index?


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 02.07.2009 8:40 | Hladanie na stranke

rooobertek píše:
nezabudol si vytvoriť fulltext index?


Ved pisal ze ho tam dal. Pogo:
Citácia:
Typ tabulky mam ako myISAM bo ako innoDB mi tam neslo dat ten fulltext


_________________
"Ženy jsou jako domény. Ty nejlepší jsou zabrané, ale pořád můžete získat nějaké z exotických zemí."
Offline

Skúsený užívateľ
Skúsený užívateľ
Hladanie na stranke

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1586
Témy: 96 | 96
NapísalOffline : 02.07.2009 9:26 | Hladanie na stranke

snacker, to som si nevšimol, zásadne nečítam dôležitejšie informácie :D
Potom by sa ešte mohlo stať, že si trafil slovo z blacklistu http://dev.mysql.com/doc/refman/5.1/en/ ... words.html


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 02.07.2009 9:43 | Hladanie na stranke

Fuha, zaujimavy blacklist, o nom som nevedel. Ale podla mna to neni v tom, pretoze pravdepodobne hladal slovo
AGAINST('text' )");
Raz som riesil nieco podobne a tiez mi to nechcelo vyhladat nejake slovo, skusal som hocico a nakoniec pomohlo ked som hladal v booleanovskom mode. Neviem presne preco, no odvtedy "ho nosim stale pri sebe" :lol:


_________________
"Ženy jsou jako domény. Ty nejlepší jsou zabrané, ale pořád můžete získat nějaké z exotických zemí."
Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 09.09.07
Prihlásený: 07.11.16
Príspevky: 3128
Témy: 233 | 233
Bydlisko: Nové Zámky
NapísalOffline : 02.07.2009 17:44 | Hladanie na stranke

Ja riesim vyhladavanie tak, ze si vytvaram XML subor s celym obsahom webu (potrebujem ho aj k niecomu inemu).. Obsahuje aj vsetok text malymi pismenami a bez diakritiky.. a potom hladany text vyhladavam v nom :)


_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
NapísalOffline : 02.07.2009 17:47 | Hladanie na stranke

Kvôli čomu tie slová nefungujú, čo sú v tom blackliste? To je tak naschval alebo je to chyba DB


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Skúsený užívateľ
Skúsený užívateľ
Hladanie na stranke

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1586
Témy: 96 | 96
NapísalOffline : 02.07.2009 18:46 | Hladanie na stranke

Sú to slová s častým výskytom, ktoré ale výsledky vyhľadávania iba deformujú, keďže nie sú kľúčové. Tak to vidím ja, možno to je nejako inak...


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
NapísalOffline : 02.07.2009 19:05 | Hladanie na stranke

Ešteže sú anglické a u Slovákov sa veľmi nepoužívajú :-D


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Skúsený užívateľ
Skúsený užívateľ
Hladanie na stranke

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1586
Témy: 96 | 96
NapísalOffline : 02.07.2009 19:30 | Hladanie na stranke

ak si chceš dať slovenské, musíš prekompilovať mysql


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 21.10.08
Príspevky: 226
Témy: 61 | 61
Napísal autor témyOffline : 02.07.2009 20:24 | Hladanie na stranke

Doplnil som tam IN BOOLEAN MODE a uz to slape:).. Potom som skusal tie slova z blacklistu a on ich fakt nevedel najist.. dost divne...


Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 31.05.09
Prihlásený: 02.06.17
Príspevky: 562
Témy: 37 | 37
Bydlisko: BegyBen
NapísalOffline : 02.07.2009 20:46 | Hladanie na stranke

Vravel som ti mal som presne podobny problem raz ;)


_________________
"Ženy jsou jako domény. Ty nejlepší jsou zabrané, ale pořád můžete získat nějaké z exotických zemí."
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 03.07.2009 10:07 | Hladanie na stranke

pogo: to akoby si hladal na slovensku "a, o, i, ale, alebo, keď, možno, ..." Proste to sú slová ktoré sú spojky, častice, (niekedy číslovky) ... Nie sú plnovýznamové, a prote by mohlo dôjsť k deformácií výsledku typu: Hľadáš "Janko a Marienka", ale prvých 100 výsledkov budú stránky kde sa v texte vyskytuje a najviackrát :)

BlackShadow: do XML? Keby si mal stránku kde by si mal 300 článkov (dávam menej lebo 12 000 je veľa, že? :-D) chceš povedať, že:
1. vytvorenie súboru bude rýchle
2. jeho čítanie je rýchle
3. hľadanie v ňom je rýchle
???

Podľa mňa dosť neefektívne riešenie


Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 21.10.08
Príspevky: 226
Témy: 61 | 61
Napísal autor témyOffline : 03.07.2009 17:09 | Hladanie na stranke

A ako spravim to poradie? :D ..
Myslim to ze to bude zoradene podla poctu najdenych slov.. bo toto mi to tak nezoradi :(

//edit: skusal som toto ale problem je v tom ze kazdemu zaznamu da score 1
Kód:
$hladat = mysql_query("SELECT *,MATCH(clanok) AGAINST('$hladane' IN BOOLEAN MODE) as score FROM clanky WHERE MATCH(clanok) AGAINST('$hladane' IN BOOLEAN MODE) ORDER BY score DESC");


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.07.09
Prihlásený: 16.07.09
Príspevky: 3
Témy: 0 | 0
NapísalOffline : 16.07.2009 8:15 | Hladanie na stranke

ALTER TABLE tabulka ADD FULLTEXT(stlpec);
tento kod musim pouzivat vzdy pri vyberani dat z databazy?
alebo staci to urobit raz v databazovom rozhrni?


Offline

Správca fóra
Správca fóra
Hladanie na stranke

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 16.07.2009 8:40 | Hladanie na stranke

pre vyberanie dat z tabulky sluzi SELECT, alter je urceny na zmenu "struktury" tabulky...


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 07.07.09
Prihlásený: 16.07.09
Príspevky: 3
Témy: 0 | 0
NapísalOffline : 16.07.2009 8:48 | Hladanie na stranke

mam ma mysli ze pri odoslani formulara urobim tento skript:
1)
SELECT *, MATCH(stlpec1, stlpec2, stlpec3) AGAINST('slovo') AS score FROM tabulka
WHERE MATCH(stlpec1, stlpec2, stlpec3) AGAINST('slovo')
ALTER TABLE tabulka ADD FULLTEXT(stlpec);

2)
alebo v databazovom rozhrani urobim:
ALTER TABLE tabulka ADD FULLTEXT(stlpec)
a potom uz pri vyhladavani staci SELECT *, MATCH(stlpec1, stlpec2, stlpec3) AGAINST('slovo') AS score FROM tabulka
WHERE MATCH(stlpec1, stlpec2, stlpec3) AGAINST('slovo')

co je spravne 1) alebo 2)? hladal som to na viacerych forach a vsade pisu inak :)


Offline

Užívateľ
Užívateľ
Hladanie na stranke

Registrovaný: 04.04.08
Prihlásený: 27.02.12
Príspevky: 532
Témy: 27 | 27
Bydlisko: Nitra
NapísalOffline : 16.07.2009 10:57 | Hladanie na stranke

Tento SQL:
Kód:
ALTER TABLE tabulka ADD FULLTEXT(stlpec)

Pustíš len raz, napr. v PMA alebo nejakom inom DB adminovi

A tento kód:
Kód:
SELECT *, MATCH(stlpec1, stlpec2, stlpec3) AGAINST('slovo') AS score FROM tabulka
WHERE MATCH(stlpec1, stlpec2, stlpec3) AGAINST('slovo')

Použiješ pri vyhľadávaní


_________________
V príprave...
 [ Príspevkov: 32 ] 1, 2


Hladanie na stranke



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Firefox hladanie na stránke

v Sieťové a internetové programy

3

358

02.12.2006 23:04

aaggii

V tomto fóre nie sú ďalšie neprečítané témy.

Google hladanie zakomponovane na stranke

v PHP, ASP

25

896

21.07.2008 19:02

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

Hladanie

v Internetový marketing, SEO, reklama

8

525

29.03.2011 20:50

walther

V tomto fóre nie sú ďalšie neprečítané témy.

hladanie

v PHP, ASP

2

404

31.03.2009 18:27

tatysp

V tomto fóre nie sú ďalšie neprečítané témy.

hladanie

v Správy pre vedenie fóra

8

922

21.12.2007 20:39

Mastros

V tomto fóre nie sú ďalšie neprečítané témy.

hladanie

v Správy pre vedenie fóra

2

1158

04.03.2007 0:16

JanoF

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

hladanie cisla

v Krčma

7

4247

16.09.2010 11:53

ac.milan

V tomto fóre nie sú ďalšie neprečítané témy.

Hľadanie predmetov

v Počítačové hry

0

1139

30.06.2010 21:14

klatisko25cm

V tomto fóre nie sú ďalšie neprečítané témy.

(JS) Hladanie

v JavaScript, VBScript, Ajax

8

296

11.03.2010 16:08

mylan

V tomto fóre nie sú ďalšie neprečítané témy.

Hladanie v array

v PHP, ASP

5

236

19.03.2012 21:38

w3r0

V tomto fóre nie sú ďalšie neprečítané témy.

Hľadanie v súbore

v PHP, ASP

5

249

13.12.2011 18:26

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

Hladanie v teme

v Správy pre vedenie fóra

4

794

09.11.2008 21:35

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

hľadanie duplicitných súborov

v Ostatné programy

1

585

02.07.2009 12:53

Horalka

V tomto fóre nie sú ďalšie neprečítané témy.

hladanie gulatej lampy

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Voľný čas a hobby

54

6546

31.12.2006 13:11

Kamahl

V tomto fóre nie sú ďalšie neprečítané témy.

Hladanie pripon C#

v Technológia .NET

8

420

26.04.2012 10:44

Rdf

V tomto fóre nie sú ďalšie neprečítané témy.

hladanie v DB

v PHP, ASP

3

309

23.10.2008 18:01

pa3ck



© 2005 - 2017 PCforum, edited by JanoF