Jump to content
php.lv forumi

Meklētāja izveide


No0ne

Recommended Posts

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ēž

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 by codez
Link to comment
Share on other sites

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 by Maris-S
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...