Gå til innhold

mySQL søkequery returnerer ikke relevanseverdi


Anbefalte innlegg

Jeg har slitt en liten stund med et query som bare ikke vil fungere!

Tanken er å returnere rader hvor søkeordene treffer på feltene "companyname" og "tags" i tabellen "business".

Sortert etter relevans.

 

SELECT *, MATCH (companyname, tags) AGAINST (\''.$_GET['search'].'\') as relev FROM `business` ORDER BY relev DESC

 

$_GET['search'] er selvsagt validert på forhånd :)

Har også prøvd uten *, bare for å lese verdiene.

Problemet er at alle relevansene viser 0 uansett hva! Har prøvd å sette SQLen rett inn i phpmyadmin med diverse testsøk som jeg VET skal treffe. Har lagt til masse data i radene. Er nå på 55 rader bare for å sørge for at jeg ikke har for lite data å søke i.

 

Jeg har en fungerende LIKE query men denne er det jo umulig å kjøre en relevanssammenligning på. Eller?

Lenke til kommentar
  • 2 uker senere...
Videoannonse
Annonse

Lenge siden jeg prøvde dette, men jeg tror MATCH må gjøres to ganger:

"SELECT *, MATCH (companyname, tags) AGAINST ($string) AS relevance FROM business WHERE MATCH (companyname, tags) AGAINST ($string) ORDER BY relevance DESC;

 

Så vidt jeg kan skjønne på mysql-manualen blir resultatet automagisk sortert etter relevance, så ORDER BY er kanskje ikke nødvendig. Men prøv begge deler.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...