Я использую простой запрос mysql LIKE, например: SELECT * FROM myTable WHERE field LIKE 'aaa%' ORDER BY field2
У меня есть полнотекстовый индекс в поле, и все же он очень медленный. Я понял, что есть возможность использовать матч. В чем разница? Как? Каков наилучший подход для моего использования? Заметьте, что я использую "%" для всего, что начинается с "aaa"
UPDATE:
Я в итоге использовал что-то вроде этого:
SELECT
*, MATCH (name) AGAINST ('a*' IN BOOLEAN MODE) AS SCORE
FROM
users
WHERE
MATCH (name) AGAINST ('a*' IN BOOLEAN MODE)
ORDER BY SCORE, popularity DESC LIMIT 4
Одна вещь, которую я хотел бы изменить, заключается не в том, что вы сначала заказываете SCORE, а затем по моей популярности в полете, а вместо этого заказываете простой весовой функцией, что-то вроде 0,5 * SCORE + 0.5 *. Как?