kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
Geoff Dalgas
Geoff Dalgas
Вопрос

Почему SQL Full Text Indexing не возвращает результаты для слов, содержащих #?

Например, мой запрос выглядит следующим образом с использованием SQL Server 2005:

SELECT * FROM Table WHERE FREETEXT(SearchField, 'c#') 

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

SELECT * FROM Table WHERE SearchField LIKE '%c#%'

Я считаю, что # - это специальная буква, поэтому как мне разрешить FREETEXT работать правильно для запроса выше?

22 2008-08-04T05:51:56+00:00 2
 Matt
Matt
Редактировал вопрос 25-го ноября 2014 в 8:40
Программирование
sql-server-2005
sql
indexing
sql-server
full-text-search
Решение / Ответ
Jarrod Dixon
Jarrod Dixon
4-го августа 2008 в 6:39
2008-08-04T06:39:40+00:00
Дополнительно
Источник
Редактировать
#8407246

Символ # индексируется как знак препинания и поэтому игнорируется, поэтому, похоже, мы удалим букву C из наших списков игнорирования индексации слов.

Протестировал локально после этого и восстановления индексов и получил результаты!

Рассматриваю возможность использования другого языка разбиения слов в индексируемом столбце, чтобы эти специальные символы не игнорировались.

EDIT: Я также нашел эту информацию:

c# индексируется как c (если c нет в вашем списке шумовых слов, см. подробнее о списках шумовых слов позже), но C# индексируется как C# (в SQL 2005 и SQL 2000, работающих на Win2003, независимо от того, C или c есть в вашем списке шумовых слов). Не только C# хранится как C#, но и любая заглавная буква, за которой следует #. И наоборот, c++ ( и любая другая строчная буква, за которой следует ++) индексируется как c (независимо от того, есть ли c в вашем списке шумовых слов).

Jeff Atwood
Jeff Atwood
Редактировал ответ 4-го августа 2008 в 7:06
14
0
 Ishmaeel
Ishmaeel
4-го августа 2008 в 6:10
2008-08-04T06:10:16+00:00
Дополнительно
Источник
Редактировать
#8407245

Цитирую многократно повторенную страницу справки о языке запросов Indexing Service:

Чтобы использовать в запросе специально обработанные символы, такие как &, |, ^, #, @, $, (, ), заключите запрос в кавычки ("").

Насколько я знаю, полнотекстовый поиск в MSSQL также выполняется службой индексирования, так что это может помочь.

 CloudyMarble
CloudyMarble
Редактировал ответ 7-го февраля 2013 в 1:16
1
0
Похожие сообщества 4
DBA - русскоговорящее сообщество
DBA - русскоговорящее сообщество
3 542 пользователей
Общаемся и обсуждаем темы, посвященные DBA, PostgreSQL, Redis, MongoDB, MySQL, neo4j, riak и т.д. См. также: @devops_ru, @kubernetes_ru, @docker_ru, @nodejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание здесь было полезным и комфортным.
Открыть telegram
sql_ninja
sql_ninja
2 520 пользователей
Канал для тех, кто знает или интересуется SQL 🛢 Взаимная помощь и позитив =) Вакансии тут - @sql_jobs Бан за: оскорбления, спам, фри рекламу, расизм, сексизм. Наш MSSQL канал - @sqlcom По рекламе: @aveLestat
Открыть telegram
SQL JOBS
SQL JOBS
2 144 пользователей
Обязательны: компания, город, позиция, вилка, наличие удалёнки, требования, контакты. Бан за рекламу, сексизм, расизм и неадекватный обсёр объявлений
Открыть telegram
Lazarus : Database (Firebird, mySQL, SQLite, PostgreSQL, ...)
29 пользователей
Базы данных в Lazarus https://t.me/Delphi_Lazarus (по-русски) https://t.me/Delphi_Lazarus_offtop https://t.me/freepascal_en (по-английски) по темам: https://t.me/Lazarus_Database https://t.me/Lazarus_Graphics https://t.me/Lazarus_Android
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Денис Васьков
Зарегистрирован 17 часов назад
2
Dima Patrushev
Зарегистрирован 2 дня назад
3
sirojidddin otaboyev
Зарегистрирован 1 неделю назад
4
Елена Гайдамамакинат
Зарегистрирован 1 неделю назад
5
Иван Степанюк
Зарегистрирован 1 неделю назад
ID
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией