2015-06-25 2 views
0

Я создаю базу данных для хранения ответов на некоторые вопросы с ответом, тегом, Tagmap, 3 таблицами. Запись ответа может иметь несколько тегов, которые используются для поиска. Tagmap связывает ответ и тег. Приложение позволяет пользователю вводить строку для поиска, например. «Математическая часть 2014 года». Я использовал explode в php, чтобы разделить строку на массив, а затем сделать мой SQL-запрос с ключевым словом LIKE. Выполнение Как a, вероятно, все записи будут возвращены. Каким будет правильный поиск соответствующих записей ответов. Извините за мой английский!mysql fulltext search search simple words like "part a"

ответ

0

Следует игнорировать входы, которые являются слишком короткими, например, менее 3 символов. Так что a будет проигнорирован, но aaa вы могли бы найти. Но вы также должны исключить некоторые общие слова «без значения», например the на английском или der, die, das на немецком языке.

Так что если пользователь вводит 2014 math part a Я бы искал только 2014, math10 и part.

Также вы должны подумать о том, чтобы дать пользователю возможность выбрать несколько тегов, чтобы уменьшить количество ответов, в которых вы ищете ключевые слова, прежде чем выполнять «экспансивный» поиск like %keyword%.