Pogledajte određenu poruku
Staro 21. 04. 2010.   #1
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default relevantnost mysql full text searcha

Pravim sistem za pretragu koju radi full-text search po vise polja, i naleteo sam na sledeci problem:

Pretraga se vrsi po poljima keywords, title i description (postoji jedan full text index za ta polja).

Recimo da imam 2 rekorda:
Kôd:
ID    TITLE                   DESCRIPTION
1     Ovo je naslov           Ovo je neki opis
2     Ovo je neki naslov      blabla
Ako neko uradi upit:
Kôd:
SELECT id, MATCH (keywords, title, description) AGAINST ('neki naslov') AS rel_kw_title
FROM data
WHERE status='published' AND MATCH (keywords, title, description) AGAINST ('neki naslov')
ORDER BY rel_kw_title DESC
dobice se da je red sa ID-jem 1 relevantniji iako on ima trazene reci odvojene. Probao sam i sa boolean searchom i onda se dobije isti relevance za oba (2 posto ima 2 matcha). Meni naravno treba da tamo gde je tacna fraza, nadje prvo nju, pa onda sve ostale.

Da li imate neku ideju kako ovo izbeci? Jedino sto 100% pomaze je da se stave navodnici oko svega, ali onda mi "Pera Peric" nece pronaci "Peric Pera" sto mi je takodje potrebno, tako da mi to nije dobro resenje.
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat