J'utilise MySQL InnoDB et je veux faire des recherches de style de texte intégral sur certaines colonnes. Quelle est la meilleure façon de trier les résultats par ordre de pertinence?Le tri de pertinence de remplacement pour le fulltext MySQL dans les tables InnoDB?
Je suis en train de faire quelque chose comme:
SELECT columns,
(LENGTH(column_name) - LENGTH(REPLACE(column_name, '%searchterm%', ''))) AS score
FROM table
WHERE column_name LIKE '%searchterm%'
ORDER BY score
Cependant, cela deviendra assez compliqué une fois que je commence à chercher plus de 1 colonne ou en utilisant plus d'un mot-clé. J'ai déjà plusieurs jointures, donc j'ai simplifié la requête ci-dessus.
Quelqu'un peut-il suggérer un meilleur moyen? Je ne veux pas utiliser un logiciel tiers comme Sphinx etc
Merci, mais j'espérais trouver une sorte de méthode sans avoir à utiliser sphinx de sol –
Toutes les alternatives raisonnables ont été trop lent ou trop imprécis. On dirait que je vais devoir essayer Sphinx, Merci –