Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
Alligieri
CEO
Эксперт С++
2255 / 1245 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
1

Полнотекстовый поиск на русском

27.08.2012, 14:53. Просмотров 3306. Ответов 4

Доброго времени суток уважаемые знатоки!
Есть такая задача - в базе марок автомобилей и их переводов-синонимов искать совпадения с неким входящим словом.
Пробую использовать встроенные средства полнотекстового поиска, но пока не очень успешно.
Есть некая эфемерная запись со значением 'Дастер', выполняю поиск по слову 'Дастера' - совпадений нет.

Строю запрос вида
T-SQL
1
SELECT * FROM CarSynonyms WHERE CONTAINS(Value,'FORMSOF(FREETEXT,''Дастера'')')
Язык по умолчанию для индекса - Русский(1049), странно еще то что анализатор вроде похожие ключи формирует, но результата - нет
T-SQL
1
SELECT * FROM sys.dm_fts_parser('"дастер" OR "дастера"', 1049, 0, 1)
keyword group_id phrase_id occurrence special_term display_term expansion_type source_term
0x043404300441044204350440 1 0 1 Exact Match дастер 0 дастер
0x0434043004410442043504400430 2 0 1 Exact Match дастера 0 дастера
Подскажите есть ли вменяемое решение задачи средствами СУБД?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.08.2012, 14:53
Ответы с готовыми решениями:

Полнотекстовый поиск. Проблема.
Имеем два MS SQL сервера. 1. Windows XP Professional, MS SQL Server 2000 Personal Edition. Запрос...

Полнотекстовый поиск по БД
Прошу помочь найти ошибку! Делаю полнотекстовой поиск по полям org, gorod, adres, web "colname1"...

Полнотекстовый поиск
Доброго времени суток! Пытаюсь сделать полнотекстовый поиск. Надо выполнить SQL-запрос и...

Полнотекстовый поиск
в таблице есть поле у content(longtext) у которого индекс fulltext с таким же название в таблице...

4
Devil_FoX
163 / 137 / 1
Регистрация: 01.04.2010
Сообщений: 474
27.08.2012, 16:55 2
T-SQL
1
2
3
4
SELECT * 
FROM CarSynonyms
WHERE
[Имя поля] like ('%Дастер%')
0
Alligieri
CEO
Эксперт С++
2255 / 1245 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
27.08.2012, 19:53  [ТС] 3
Devil_FoX, вы думаете что я 3 года используя MS SQL не вкурсе про LIKE?
Только вопрос в том что искать нужно "Дастер", а на входе запроса у нас параметры-словоформы ("Дастера", "Дастеру", "Дастером" и т.д.). Так что не то
0
pincet
1438 / 1014 / 139
Регистрация: 23.07.2010
Сообщений: 5,628
27.08.2012, 21:07 4
полнотекстовый поиск вроде регистрозависимый. Ибо индекс нужон. Можно ведь и "ДаСтЕр" попросить найти.
0
Alligieri
CEO
Эксперт С++
2255 / 1245 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
27.08.2012, 23:04  [ТС] 5
pincet, нет, я сформировал как раз индекс CI - CaseInsensitive. Проблема в том что семантические модули валяют дурака и не хотят строить словоформы для русского
0
27.08.2012, 23:04
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2012, 23:04

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

Полнотекстовый поиск
Здравствуйте! Такой вопрос. У меня в базе данных работает полнотекстовый поиск. Как известно,...

полнотекстовый поиск
обновил до бух 3.0, пытаюсь включить полнотекстовый поиск ставлю галочку, обновляю индексы,...

Полнотекстовый поиск в словаре
Задача стоит следующая, необходимо создать словарь для множества локалей(рус,англ и т.д.) Словари...

Полнотекстовый поиск в InnoDB
Привет всем! Пишу поисковик для себя. Тип БД InnoDB. В сети узнал, что этот тип не поддерживает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.