Запрос полнотекстового поиска SQL?

Я пытаюсь реализовать полнотекстовый поиск по таблице входа в систему, и когда я выполняю соответствующий запрос, то следующие мои наблюдения:

Когда я выполняю следующий запрос, реализующий полнотекстовый поиск, он может извлечь приблизительно 1665 строк

select * from t_user where contains(LOGIN_ID, '"*david*" )

но при реализации аналогичного запроса без полнотекстового поиска с использованием следующего он возвращает 1872 строки

select * from T_USER where LOGIN_ID like '%david%'

Просматривая данные в моей таблице, я пришел к выводу, что, когда я использую ключевое слово contains, он игнорирует строку с идентификатором входа в систему, например, DDAVID_D, или я могу сказать, что возвращаются только те строки, в которых слова Давида разделены, как DAVID_FRANK.,

Есть ли способ поиска слова между словами (например, поиск Дэвида между DDavidFrank или я могу искать между длинными непрерывными словами строку Давида, как в DDAVIDFRANK), чтобы эффективно реализовать полнотекстовый поиск?

1 ответ

Попробуйте этот запрос:

SELECT * from t_user WHERE CONTAINS(LOGIN_ID, '"david"' )

Пытаться

WHERE FREETEXT(LOGIN_ID, 'david') OR CONTAINS(LOGIN_ID, 'david')"
Другие вопросы по тегам