Я пытаюсь создать систему тегов для модели кадрового агентства, и мне нравится, как SO разделяет теги и ищет оставшиеся фразы.
Как бы вы сравнили теги в таблице с поисковым запросом и т.д...
Я придумал следующее, но у него есть некоторые заминки...
- Пользователь вводит поисковый запрос
- Полнотекстовый SQL содержит() поиск по tbl_tags
- Возвращает 5 результатов
- Проверьте, существует ли каждая «точная фраза тега» в исходной строке запроса.
- Если он существует, добавьте идентификатор тега в массив.
- Удалить имена тегов из исходной строки поиска...
- Ищите в tbl_people людей со связанными идентификаторами TagID и ищите текстовые поля с оставшимся текстом.
Пример поиска: французские менеджеры проектов с опытом работы с Oracle.
Теги : [Французский] [Менеджер проектов] с опытом [Oracle]
Оставшийся текст: с опытом
Теперь проблема возникает, когда я ищу менеджеров проектов, у меня остается лишнее «s» ... и, вероятно, есть и другие ошибки с этой логикой, которые я не могу объяснить ...
Любые идеи о том, как сделать логику идеальной?
Заранее спасибо, я понимаю, что это может быть немного абстрактный вопрос...