Pogledajte određenu poruku
Staro 15. 11. 2007.   #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 full-text search se chudno ponasa

mysql mi jako chudno sortira rezultate full-text searcha, kao sto se moze videti iz prilozenog:
Kôd:
SELECT a3a.ID, a3a.Title,
MATCH (a3a.Title) AGAINST ('florida car insurance') AS relevance
FROM articles3 AS a3a
WHERE
MATCH (a3a.Title) AGAINST ('florida car insurance')
LIMIT 10

+--------+----------------------------------------+-----------------+
| ID     | Title                                  | relevance       |
+--------+----------------------------------------+-----------------+
| 193584 | Florida Health Insurance               | 10.545636177063 |
| 281813 | Florida Insurance Lawyers              | 10.545636177063 |
| 214760 | Florida Health Insurance               | 10.545636177063 |
| 210643 | Florida Car Insurance Requirements     | 10.545636177063 |
| 214756 | Florida Medical Insurance              | 10.545636177063 |
| 193583 | Florida Health Insurance Quote         |  10.42969417572 |
znaci rezultat koji sadzi sve 3 trazene reci ima isti relevance kao nalsov koji sadrzi samo 2 od 3 reci. Ovo sam probao na 2 servera na kojima stavljen mysql 4.1.20 i na oba s eidenticno ponasa...

Takodje postoji i nesto cudno oko boolean searcha, jer:
Kôd:
mysql> SELECT a3a.ID, a3a.Title
    -> FROM articles3 AS a3a
    -> WHERE
    -> MATCH (a3a.Title) AGAINST ('+florida +car +insurance' IN BOOLEAN MODE)
    -> LIMIT 10;
+--------+------------------------------------------------------------------------+
| ID     | Title                                                                  |
+--------+------------------------------------------------------------------------+
| 193582 | Florida Group Health Insurance                                         |
| 193583 | Florida Health Insurance Quote                                         |
| 193584 | Florida Health Insurance                                               |
| 193585 | Florida Individual Health Insurance                                    |
| 193586 | Florida Small Business Health Insurance                                |
| 193587 | Florida State Health Insurance                                         |
| 193632 | Affordable Florida Health Insurance                                    |
| 193716 | An Overview of Health Insurance Coverage for Individuals in Florida    |
| 193828 | Regulations Concerning Long Term Care Insurance in Florida             |
| 194058 | Florida Flood Insurance:  How Residents Can Obtain and Benefit from It |
+--------+------------------------------------------------------------------------+
10 rows in set (0.04 sec)
znaci iako ima pluseve ipred svih reci on ipak vrati i recorde koij ne sadrze "car" u sebi, iako u mysql manualu lepo pise:
Citat:
A leading plus sign indicates that this word must be present in each row that is returned.
opet, ovo je probano na 2 servera (mysql 4.1.20) znaci nije problem u ostecenim indexima ili tako nesto, negoje neki bug u fulltext searchu...

jel zna neko slucajno isplati li se da upgradujem mysql na 5-cu, da li tamo full-text search radi bolje?
__________________
Leadership is the art of getting people to want to do what you know must be done.

Poslednja izmena od ivanhoe : 15. 11. 2007. u 17:50.
ivanhoe je offline   Odgovorite uz citat