[php/mysql] probleem met ordenen results op percentages

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • troxx
  • Registratie: Mei 2001
  • Laatst online: 13-01-2020

troxx

Vechain maximalist

Topicstarter
beste mensen,
ik probeer het al een tijdje uit te zoeken, heb de hele manual en de search al gehad maar ik kom er maar niet uit. hoe is het mogelijk om resultaten van een searchengine te ordenen op kwaliteit door middel van een percentage.

bijvoorbeeld: search string: "Britney Spears"
resultaat: "Britney" => match 50%
resultaat: "Britney Spears" => 100%

en om dit dan te ordenen.
ik ken wel een weg namelijk de volgende.

- query exploden op spaties
zoeken op alle woorden met een OR operator
- in een array gooien
- de scores uitrekenen per result
- op de scores desc ordenen

maar ik heb het idee dat dit erg omslachtig is...
heeft iemand een beter idee?

aka Crypto T


Acties:
  • 0 Henk 'm!

Verwijderd

Persoonlijk zou ik inderdaad zelf ook de text gaan splitsen en kijken hoevaak je het gezochte woord tegenkomt, zo kan je ze gelijk een kleurtje geven en opsommen... zo zou ik het doen :)

Acties:
  • 0 Henk 'm!

  • troxx
  • Registratie: Mei 2001
  • Laatst online: 13-01-2020

troxx

Vechain maximalist

Topicstarter
maar gaat dat niet enorm veel load opleveren? stel dat de server voor 100 resultaten de scores kan gaan berekenen?

aka Crypto T


Acties:
  • 0 Henk 'm!

  • troxx
  • Registratie: Mei 2001
  • Laatst online: 13-01-2020

troxx

Vechain maximalist

Topicstarter
wat ik dus probeer uit te zoeken is of dit misschien niet al in mysql mogelijk is. veel search engines werken op deze manier en zijn ondanks soms 30.000 resultaten in de database nog enorm snel. Ik denk dat mijn manier enorm omslachtig is en dat het beter moet kunnen, maar hoe weet ik niet. . .

aka Crypto T


Acties:
  • 0 Henk 'm!

  • troxx
  • Registratie: Mei 2001
  • Laatst online: 13-01-2020

troxx

Vechain maximalist

Topicstarter
niemand ?

aka Crypto T


Acties:
  • 0 Henk 'm!

Verwijderd

ik denk dat dit je probleem wel op lost: http://www.mysql.com/doc/en/Fulltext_Search.html

Acties:
  • 0 Henk 'm!

Verwijderd

mysql> SELECT id, body, MATCH (title,body) AGAINST
-> ('Security implications of running MySQL as root') AS score
-> FROM articles WHERE MATCH (title,body) AGAINST
-> ('Security implications of running MySQL as root');
+----+-------------------------------------+-----------------+
| id | body | score |
+----+-------------------------------------+-----------------+
| 4 | 1. Never run mysqld as root. 2. ... | 1.5055546709332 |
| 6 | When configured properly, MySQL ... | 1.31140957288 |
+----+-------------------------------------+-----------------+
2 rows in set (0.00 sec)
Pagina: 1