Я использую MySQL InnoDB и хочу выполнить полнотекстовый поиск в определенных столбцах. Каков наилучший способ сортировки результатов по релевантности?
Я пытаюсь сделать что-то вроде:
SELECT columns,
(LENGTH(column_name) - LENGTH(REPLACE(column_name, '%searchterm%', ''))) AS score
FROM table
WHERE column_name LIKE '%searchterm%'
ORDER BY score
Однако это станет довольно сложным, когда я начну искать более 1 столбца или использовать более одного ключевого слова. У меня уже есть несколько объединений, поэтому я упростил приведенный выше запрос.
Кто-нибудь может предложить лучший способ? Я не хочу использовать стороннее программное обеспечение, такое как Sphinx и т. Д.