klavsr Posted January 2, 2013 Report Share Posted January 2, 2013 Sveiki! Vajadzīgs, lai meklētājā ievadot tikai vārda daļu, atrastu ierakstus ar pilno vārdu. Piemēram, meklējot "and" atrastu "Andris". Es izmantoju Levenshtein ratio funkciju lai salīdzinātu vārdus, un, piemēram, meklējot "andri" atrod "Andris", bet meklējot "andr" ne. Koeficients >= 50 no 100. Ja samazina koeficientu, atrod arī daudz attālāk līdzīgus vārdus. Varbūt Levenshtein funkciju iespējams pielabot, lai precīzāk salīdzinātu pēc vārda daļas? Kādi ieteikumi no pieredzes? http://www.jisaacks.com/find-similar-products-in-mysql-using-levenshtein-distance Quote Link to comment Share on other sites More sharing options...
daGrevis Posted January 2, 2013 Report Share Posted January 2, 2013 Kā lai dators zina, ka ar «and» ir domāts «Andris», nevis «AndXXX», jeb «AndXYZ»? Tas ir koeficents un viņš ir pilnīgi pareizs. Tas, ko tu varētu implementēt — Levenšteins + meklējumu vēsture / biežākie meklējumi. Quote Link to comment Share on other sites More sharing options...
l27 Posted January 2, 2013 Report Share Posted January 2, 2013 Ir gatavs risinājums: http://sphinxsearch.com/docs/manual-0.9.9.html Kādos trijos projektos esmu ieviesis. salidzini.lv arī šo izmanto. Quote Link to comment Share on other sites More sharing options...
rpr Posted January 2, 2013 Report Share Posted January 2, 2013 ar doto piemēru tev vienkārši pietiek ar like :) un ci salīdzināšanu. Quote Link to comment Share on other sites More sharing options...
blackhalt Posted January 3, 2013 Report Share Posted January 3, 2013 Es iztieku ar similar_text http://php.net/manual/en/function.similar-text.php Quote Link to comment Share on other sites More sharing options...
klavsr Posted January 4, 2013 Author Report Share Posted January 4, 2013 Iztiku ar LIKE + Leveshtein un darbojās labi. blackhalt, similar_text īsti neder, jo funkciju jālieto MySQL kverijā, domāju ka tas ir racionālāk nekā pēc kverija salīdzināt ar PHP funkciju? Paldies! Quote Link to comment Share on other sites More sharing options...
Kaitnieks Posted January 4, 2013 Report Share Posted January 4, 2013 Tehnoloģija, kas tevi interestē, saucas "stemming" - resp., vārdu pārveidošana normālformā, apgraizot galotnes un priedēkļus. Cik zinu lucene un elasticsearch piedāvā latviešu valodas celmošanu 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.