Данные, которые у меня есть:
kiran@test.com - первая запись kiran1@test.com - вторая запись
Мне нужно искать по адресу электронной почты.В моем веб-приложении проиндексированы форумы и пользователи.
Первый сценарий
Я сохранил символ '@' в таблице кодировок, и это нормально работает, например, если ключевое слово для поиска как 'kiran@test.com' дает мнеточный результат, но если я только «тестирую» пользователя, результаты не найдены.
Второй сценарий
Если я не буду хранить символ «@» в таблице наборов символов.Если я использую «kiran@test.com», я получаю и результаты, и «тест», также я получаю оба результата
Ожидаемый сценарий
Если я использую всю электронную почту 'kiran@test.com '- мне нужно получить только первую запись. Если я использую только' test '- мне нужно получить обе записи
В обычном mysql что-то вроде "выберите пользователей, для которых электронная почта похожа на"% search-ключ% '"
Я использую следующий код для поиска
ThinkingSphinx.search params [: search_key] ,: star => Regexp.new (' \ w + @ * \ w + ', nil, 'u') (я не хочу рассматривать '@' как разделитель)
Пожалуйста, предложите мне любые варианты, которые я могу пропустить, чтобы достичь ожидаемого результата.
Спасибо, Киран