Содержит () функция falters со строками чисел?
Для получения некоторой исходной информации я создаю приложение, которое ищет несколько индексированных таблиц для получения некоторых записей. Это не является откровенно сложным с точки зрения Google, но он достаточно хорош для того, чтобы он служил, не допуская этой странной проблемы.
Я использую функцию Contains()
, и это происходит очень хорошо, за исключением случаев, когда поиск содержит строки чисел. Теперь я только передаю строку – нигде не численные типы данных передаются только в символах. Мы проводим поиск против коллекции электронных писем, каждая из которых добавляется с помощью специального идентификатора, когда он удаляется из рабочего процесса. Поэтому во время тестирования мы решили выполнить поиск по номерам строк.
В нашем тесте мы выделили номер 0042600006
, который относится к одному и только одному 0042600006
электронной почты. Тем не менее, при использовании нашего запроса мы получаем результаты для 0042600001
, 0042600002
и т. Д. Запрос заключается в следующем: (при 0042600002
некоторых общих столбцов):
- Полнотекстовый поиск по SQL Server 2005 - можно ли искать символы с прямой косой чертой?
- Не удалось использовать «И» в ПОСТОЯННОМ ТЕКСТОМ ПОСТАВКЕ SQL SERVER
- Как включить полнотекстовый индекс в таблице Sql Server 2008
- Полный текстовый индекс и параметризованный запрос с помощью asp.net
- Полнотекстовый индекс, не возвращающий результаты из pdf filestream
SELECT description, subject FROM tableA WHERE CONTAINS((subject), '0042600006')
Мы пробовали все возможные комбинации: '0042600006*'
, '"0042600006"'
и '"0042600006*"'
.
Я думаю, что это просто ограничение функции, но я думал, что это, вероятно, будет лучшим местом для ответов. Заранее спасибо.
- Ошибка тайм-аута SQL Server FTS в ASP.Net, после того как приложение некоторое время простаивает
- SQL Server 2008 несколько проблем «LIKE»
- Полнотекстовый поиск NHibernate + SqlServer
- SQL Server 2008 - полнотекстовый поиск с несколькими ключевыми словами и разбиением на страницы
- Получение самых последних записей из полнотекстового индекса SQL Server
- Полнотекстовая разность между SQL Server и Postgres
- Как может запрос с TOP 10 взять бесконечно дольше, чем тот же запрос без TOP 10?
- SQL Server - поиск совпадений в именах
Спросил этот же вопрос в последнее время. Пожалуйста, посмотрите на проницательный ответ, который кто-то оставил меня здесь
По сути, этот пользователь говорит, что нужно отключить шумовые слова (Microsoft включила целые числа 0-9 в качестве шума в полнотекстовом поиске). Надеюсь, вы сможете использовать этот удивительный инструмент с целыми числами, как я сейчас!
попробуйте добавить language 1033
в качестве дополнительного параметра. который работал с моим решением.
SELECT description, subject FROM tableA WHERE CONTAINS((subject), '0042600006', language 1033)
попробуйте использовать SELECT description, subject FROM tableA WHERE CONTAINS ((subject), '% 0042600006%')