No0ne Posted September 5, 2011 Report Share Posted September 5, 2011 Gribētos izveidot tādu advancētu meklētāju lapai. Teiksim, ja datubāzē ir ieraksts "The Pirates of Carribean", tad lai to var atrast meklējot "Pirates Carribean" utml. Kā ko tādu varētu dabūt gatavu? Piemēram varu parādīt imdb.com - http://www.imdb.com/find?s=all&q=pirates+carribean Quote Link to comment Share on other sites More sharing options...
Kemito Posted September 5, 2011 Report Share Posted September 5, 2011 Datubāzē ja glabājas šie ieraksti visi, nutad jau var izmantot "LIKE" MySQL vaicājumam.! Quote Link to comment Share on other sites More sharing options...
daGrevis Posted September 5, 2011 Report Share Posted September 5, 2011 Vienkāršs, bet kaut cik advancēts meklētājs būtu... WHERE `x` = '%ko%' Manā gadījumā tiktu atrasts arī 'koks'! :) Quote Link to comment Share on other sites More sharing options...
No0ne Posted September 5, 2011 Author Report Share Posted September 5, 2011 Es cerēju uz ko nedaudz viltīgāku par where x = '%$kw%' OR x = ''%$kw2%'. Un vispār es tik daudz kur esmu izmeklējies, bet nekur neesmu nevienu daudz maz sakarīgu topiku atradis kā izveidot precīzu meklētāju. Teiksim ierakstot googlē 7 windows, google saprot, ka tev vajag windows 7 un pofig ka pirmais kw pēc kā meklēt ir 1 cipars, savukārt jebkurā bittorrent trakerī pamēģiniet ierakstīt 7 windows un izmetīs gandrīz neko, jo tur tiek izmantots šis princips (precizak where x = %$visi_keywordi%', ja tas butu kaa rakstiju augstak, tad vispar sausmas tiktu izmestas) Tāpat googlee, es ierakstitu `pilseta piedzimst vejs varoša vārna zarā sēž` vinja loti labi saprot, ka man vajag šādu tekstu: pilsētā kurā piedzimst vējš varen varoša vārna zarā sēž Quote Link to comment Share on other sites More sharing options...
daGrevis Posted September 5, 2011 Report Share Posted September 5, 2011 Nejauc visu vienā putrā, No0ne. Tas, ka Google izmet pirmo 'Windows 7' nav tāpēc, ka '7' pārlieku atbilst 'Windows 7'. Lieta tāda, ka Windows 7 ir ļoti, ļoti populārs un to meklē miljoniem cilvēku ikdienu... un Google to ņem vērā. Tante kārto gan pēc atbilstības meklētājam, gan pēc popularitātes... gan, vismaz dzirdēts, pēc tā, ko attiecīgais lietotājs vispār mēdz meklēt un, vispārīgi, darīt internetā. Tieši darbā bija diskusija... Uz kāda no Mūsu datoriem pamēģiniet uzrakstīt 'length'... pirmā lapa būs php.net/strlen. Quote Link to comment Share on other sites More sharing options...
No0ne Posted September 5, 2011 Author Report Share Posted September 5, 2011 nu ok izlaizam to piemeru par win7, atgriezjamies pie prāta vētras un pilsētas, kurā piedzimst vējš Quote Link to comment Share on other sites More sharing options...
spainis Posted September 5, 2011 Report Share Posted September 5, 2011 no sākuma full text search/index Quote Link to comment Share on other sites More sharing options...
daGrevis Posted September 5, 2011 Report Share Posted September 5, 2011 nu ok izlaizam to piemeru par win7, atgriezjamies pie prāta vētras un pilsētas, kurā piedzimst vējš Ko? Quote Link to comment Share on other sites More sharing options...
No0ne Posted September 5, 2011 Author Report Share Posted September 5, 2011 daGrevis: augstāk jau rakstīju, ka vēlos uzzināt kā panākt, ka meklējot: pilseta piedzimst vejs varoša vārna zarā sēž atrod pilsētā kurā piedzimst vējš varen varoša vārna zarā sēž Quote Link to comment Share on other sites More sharing options...
daGrevis Posted September 5, 2011 Report Share Posted September 5, 2011 Skaidrs, nepamanīju. Mana vainīte. :D Varbūt kaut kāda regulāra izteiksme? Es īsti pats nezinu. Quote Link to comment Share on other sites More sharing options...
No0ne Posted September 5, 2011 Author Report Share Posted September 5, 2011 Nespēju iedomāties, ko šeit ar regexpiem varētu panākt. Katru reizi jau var mainīties gan izlaisto vārdu skaits, gan kopējais vārdu skaits un secība. Quote Link to comment Share on other sites More sharing options...
codez Posted September 5, 2011 Report Share Posted September 5, 2011 (edited) Principā tas, ko tu varētu mēģināt darīt, ir katru datu ierakstu dalīt vārdos un veidot sasaistes starp to vārdu un datu ierakstu. Bez tam šādā veidā tu varētu likt arī dažādus koeficientus, piemēram, ja vārds bieži atkārtojas vai ir foršos tagos, tad koeficients starp to vārdu un datu ierakstu ir lielāks. Attiecīgi tad uz meklējuma pieprasījumu, selektot teiksim top 100 datu ierakstus ar katru no meklējuma kverija vārdiem un tad summēt kopā kopā šos koeficientus. Tad sakārtot un tad iegūsi sarakstu ar datu ierakstiem, kuriem ir visvairāk sakritības ar meklējuma kveriju. Var iet tālāk un ieviest google page ranka principu, respektīvi pašiem datu laukiem arī glabāt koeficientus, kurus reizina klāt, tādā veidā arī meklēsies svarīgākās lapas, nevis tās, kurās visprecīzāk atbilst vārds. Tālāk var veidot vēlvienu tabulu, kurā veido kaut kādas relācijas starp pašiem vārdiem - līdzīgiem vārdiem un meklējuma gadījumā selektot arī pēc šiem līdzīgajiem vārdiem top datu ierakstus un summēt kopējā rezultāta. Šeit var arī ieviest koeficientu, kurš nosaka vārdu līdzību un reizināt to klāt. Šādā veidā varētu panākt kaut ko ļoti tuvu googlei darbības principiem, bet tas prasīs daudz darba, daudz tūningošanas. Vari protams iegātāties arī šo un pilnībā izbaudīt google indeksēšanas iespējas: http://en.wikipedia.org/wiki/Google_Search_Appliance Edited September 5, 2011 by codez Quote Link to comment Share on other sites More sharing options...
briedis Posted September 5, 2011 Report Share Posted September 5, 2011 ...vai arī izmanto šo :) http://www.google.com/cse/ Meklētājs darbībā: http://www.astrologi.lv/sakums/meklesana/ Quote Link to comment Share on other sites More sharing options...
Maris-S Posted September 8, 2011 Report Share Posted September 8, 2011 (edited) Nesen bija aizsākta viena tēma par meklēšanas optimizāciju. http://php.lv/f/topi...__fromsearch__1 Tur ieteicu http://sphinxsearch.com, bet kā jau tur pieminēju pats neesmu viņu pētījis un nezinu vai viņš var realizēt tādus uzdevumus un vai strādā ar datubāzēm, iespējams ir vērts papētīt. Varbūt tās tēmas autors Rpr jau būs paguvis izpētīt? Visumā, domāju ja meklēšanu veidot tikai ar datubāzes līdzekļiem, izmantojot like, tad šāda pieeja būtu pārāk noslogojoša serverim. Piemēram, ja kādu teikumu no 10 vārdiem sadalīt pa tiem pašiem 10 vārdiem un salikt vienā vaicājumā ar and vai or, izmantojot like, tad strādās pārāk lēni. Indeksi nestrādās ja % būs atslēgvārda sākumā. Tāpēc būtu vērts arī papētīt full text search, kā jau Spainis ieteica. Edited September 8, 2011 by Maris-S Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.