sql >> Databasteknik >  >> RDS >> Mysql

MySQL - Effektiv sökning med partiell ordmatchning och relevanspoäng (FULLTEXT)

Den nya InnoDB fulltextsökfunktionen i MySQL 5.6 hjälper i det här fallet. Jag använder följande fråga:

SELECT MATCH(column) AGAINST('(word1* word2*) ("word1 word1")' IN BOOLEAN MODE) score, id, column 
FROM table
having score>0
ORDER BY score 
DESC limit 10;

där ( ) grupperar ord i ett underuttryck. Den första gruppen har like word% menande; den andra letar efter exakt fras. Poängen returneras som flytande.



  1. Anropa mysql kapslade/inre funktioner i querydsl

  2. Sök efter intervall Latitud/Longitud-koordinater

  3. Vad är effektivare - att lagra loggar i sql-databas eller filer?

  4. PostgreSQL:FATAL - Peer-autentisering misslyckades för användare (PG::ConnectionBad)