Ссылаясь на мой предыдущий пост stackoverflow, я пытаюсь найти сходство в сообщениях, отправленных через следующее:
SELECT id, MATCH (content) AGAINST (content) AS score FROM pms_messages WHERE sender_id = '.$sender_id.' AND MATCH (content) AGAINST (content) AND score > 1;
Я вижу ошибку: # 1210 – Неправильные аргументы для AGAINST
Я установил индекс FULLTEXT в своем поле содержимого. От phpmyadmin:
Edit Drop fulltext_index FULLTEXT No No content 1
Что мне не хватает?
Всегда читайте руководство, когда вы получаете сообщение об ошибке, это очень полезно:
AGAINST берет строку для поиска и необязательный модификатор, указывающий, какой тип поиска выполнять. Строка поиска должна быть литеральной строкой, а не переменной или именем столбца.
Ссылка: http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html#function_match
То, что вы пытаетесь достичь, сделано неправильно. Используйте буквенную строку вместо имени столбца.
См. Также 11.9.5. Полнотекстовые ограничения Документы , в частности:
- Аргумент для
AGAINST()
должен быть константой.