sql >> Databasteknik >  >> RDS >> Mysql

MySQL match() mot() - ordning efter relevans och kolumn?

Detta kan ge den ökade relevansen till huvuddelen som du vill ha. Det kommer inte att dubbla det, men det kan möjligen vara tillräckligt bra för din skull:

SELECT pages.*,
       MATCH (head, body) AGAINST ('some words') AS relevance,
       MATCH (head) AGAINST ('some words') AS title_relevance
FROM pages
WHERE MATCH (head, body) AGAINST ('some words')
ORDER BY title_relevance DESC, relevance DESC

-- alternatively:
ORDER BY title_relevance + relevance DESC

Ett alternativ som du också vill undersöka, om du har flexibiliteten att byta DB-motor, är Postgres . Det gör det möjligt att ställa in operatörernas vikt och leka med rangordningen.



  1. Hur man fyller datasetet med C# från Oracle-databasen

  2. Hur man väljer poster från de senaste 24 timmarna i PostgreSQL

  3. ExecuteBatch-metoden returnerar array med värdet -2 i java

  4. Skicka in VAR parametrar till PostgreSQL View?