Я сравниваю результаты запроса, какПочему MATCH AGAINST возвращает разные результаты, чем LIKE?
SELECT * FROM object_search
WHERE
keywords LIKE '%,woman,%'
AND keywords LIKE '%,man,%'
в
SELECT * FROM object_search
WHERE
MATCH (keywords) AGAINST ('+(",woman,") +(",man,")')
я ожидал бы точно такие же результаты, но первый запрос выкладывает около 300 результатов, а второй ближе к 3000.
В чем разница между ними и как получить тот же результат с использованием полнотекстовой функциональности?
Не могли бы вы предоставить структуру своего стола? А также некоторые строки, которые были возвращены во 2-м случае, но не в 1-й. –
@AlmaDoMundo Кажется, что запрос 'MATCH AGAINST' требует только одного из двух ключевых слов, присутствующих в строке. Также это таблица InnoDB. –
Я предполагаю, что речь идет о словах 'woman' и' man', так как 'man' является подсловом' woman' (но, похоже, это не так, как должно работать). Вместо этого попробуйте что-то вроде 'foo' и' bar', т. Е. Непересекающееся –