Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Кормчий
Guest
Дано:

MS SQL 2005 Enterprise RTM

Для таблицы [dbo].[books] по полю [name], которое varchar(255), построен полнотекстовый индекс.

select * from sys.fulltext_languages дает 17 языков, среди которых русского нет(( То есть приходится использовать нейтрал
Язык по умолчанию - русский

По утверждению независимого источника http://morphology.ru/ слово собака в русском языке имеет следующие формы:

собак
собакам
собаками
собаках
собаке
собаки
собакой
собакою
собаку

Внимание, вопрос:
Почему следующие запросы :
SELECT  bk_id,[name]
FROM dbo.books
WHERE CONTAINS([name],'собака')

 
SELECT  bk_id,[name]
FROM dbo.books
WHERE FREETEXT([name],'собака')


SELECT  bk_id,[name]
FROM dbo.books
WHERE CONTAINS([name],' FORMSOF (INFLECTIONAL, собака)')
 


SELECT  bk_id,[name]
FROM dbo.books
WHERE CONTAINS([name],' FORMSOF (THESAURUS, собака)')
 


работают одинаково, то есть выводят 254 книжки по слову "собака" и всё,
хотя в других названиях книг со 100% вероятностью есть и остальные формы слова "собака".
10 дек 05, 08:42    [2160136]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Lexis
Member

Откуда: Moscow
Сообщений: 1737
есть ссылка на то, как MSSQL 2005 работает с русским языком?
10 дек 05, 13:09    [2160279]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
Предыстория вопроса: https://www.sql.ru/forum/actualthread.aspx?bid=1&tid=235159&hl=

На Платформе 2006 силами Глеба Уфимцева и Алексея Ширшова удалось частично подключить русский язык. Частично потому что ищутся не все словоформы. Кому интересно, вот что было проделано:

1. В командной строке перейти в каталог Binn экземпляра и зарегистрировать ruslr.dll:

regsvr32 ruslr.dll

Это Russian Index Module.

2. Проиграть скрипт для создания ключей в реестре:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSearch\CLSID\{20036414-F1AF-11D2-A57F-006052076F32}]
@="ruslr.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSearch\CLSID\{20036404-F1AF-11D2-A57F-006052076F32}]
@="ruslr.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSearch\Language\rus]
"NoiseFile"="C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\FTData\\noiseRUS.txt"
"TsaurusFile"="C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\FTData\\tsRUS.xml"
"Locale"=dword:00000419
"WBreakerClass"="{20036404-F1AF-11D2-A57F-006052076F32}"
"StemmerClass"="{20036414-F1AF-11D2-A57F-006052076F32}"

Это для регистрации Stemmer'а и Word Breaker'а для русского в FT.

3. Перезапустить SQL Server и FT Search.

Есть подозрение, что MS отключила FT для русского в силу его неготовности и, возможно, включит в русской версии SQL Server 2005 (выход которой запланирован на 2006 год).
10 дек 05, 13:23    [2160297]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Кормчий
Guest
2 jimmers
Спасибо большое, помогло! Язык добавился в список доступных, собаки ищутся)


jimmers
Есть подозрение, что MS отключила FT для русского в силу его неготовности и, возможно, включит в русской версии SQL Server 2005 (выход которой запланирован на 2006 год).

Обидна) Мирроринг загасили, а теперь оказывается, великому и могучему тоже досталось) Скорее всего, так оно и есть, хорошо бы официальное заявление по этому поводу услышать от уполномоченных лиц.
10 дек 05, 14:29    [2160356]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
sparrow
Member

Откуда: Россия, Красноярск.
Сообщений: 21759
jimmers
Извенясь конечно не в курсе.
Можно вопрос?
О какой степени Русской версии?
только FT Search.
BOL - наверно нет.
10 дек 05, 15:27    [2160411]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
Я не совсем понял вопроса, но про русскую версию сказали на Платформе так: выйдет в середине 2006, все интерфейсы на русском. Даже показали, как это выглядит на примере SQL Server Management Studio.
10 дек 05, 15:51    [2160441]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
sparrow
Member

Откуда: Россия, Красноярск.
Сообщений: 21759
ok. понятно
10 дек 05, 16:06    [2160458]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Shultze
Member

Откуда: СПб
Сообщений: 382
sparrow
jimmers
BOL - наверно нет.


BOL тоже русицифицирует, и MSDN. Сказали...
17 дек 05, 09:56    [2181809]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10683
Блог
В тему: http://support.microsoft.com/kb/908441/en-us#XSLTH5161121123120121120120
2 мар 06, 12:36    [2408153]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10683
Блог
jimmers

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSearch\CLSID\{20036414-F1AF-11D2-A57F-006052076F32}]
@="ruslr.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSearch\CLSID\{20036404-F1AF-11D2-A57F-006052076F32}]
@="ruslr.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSearch\Language\rus]
"NoiseFile"="C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\FTData\\noiseRUS.txt"
"TsaurusFile"="C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\FTData\\tsRUS.xml"
"Locale"=dword:00000419
"WBreakerClass"="{20036404-F1AF-11D2-A57F-006052076F32}"
"StemmerClass"="{20036414-F1AF-11D2-A57F-006052076F32}"


Нужно ещё учитывать, что не всегда папка MSSQL.1, иногда бывает и другая, т.е. нужно вначале посмотреть, где реально ляжет Binn, особенно, если установка выполняется повторно...
24 мар 06, 15:39    [2487116]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Alexes
Member

Откуда:
Сообщений: 1100
Александр,
не подскажете, когда ориентировочно выйдет русский SQL2K5?
13 апр 06, 16:41    [2559776]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Anderson
Member

Откуда: г.Ростов-на-Дону
Сообщений: 396
Проделал всё работу по подключению полнотекстового поиска как описано было выше. Всё появилось. Создал каталог. Появился русский язык выбрал его. Ну и начал индексировать каталог минут 4-6 он его индексил. Размер каталога не менялся всё это время. По окончанию в статистике посомтрел items count = 0 а cataloge size = 0mb

Подскажите где может ещё что быть.
10 май 06, 17:10    [2649017]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Anderson
Member

Откуда: г.Ростов-на-Дону
Сообщений: 396
меняю язык с Russian на English переиндексирую и тут всё нормально....
item count 189 тыс.

и каталог не пустой. Блин что-то с русским
10 май 06, 17:19    [2649093]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Airton
Member

Откуда:
Сообщений: 2
Вот у меня та же проблема, подключил русский язык - выбрал его в списке языков, но поиск по-прежнему работает только по точному совпадению слова, без морфологии. Подскажите в чем проблема.
16 июн 06, 22:02    [2782260]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
RendeRR
Member

Откуда: Москва
Сообщений: 46
А у меня нет ruslr.dll :(
11 июл 06, 23:57    [2868437]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Anderson
Member

Откуда: г.Ростов-на-Дону
Сообщений: 396
Привет всем, в начале года пользовался данной статьёю очень помогла. Теперь после обновления сервака не получается проиграть скрипт реестра не добавляются ключи. windows 2003 Advanced server 64 bit, mssql 2005 64bit. Думал руками прописать но это наверное не есть хорошо. Подскажите в чем могет быть дело.
25 сен 06, 13:26    [3179337]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
JulM
Member

Откуда:
Сообщений: 8
SQL2005 SP1
Попробую обрисовать проблему. разбираясь с полнотекстовым поиском проделала операции которые были предложены в данном форуме

DECLARE @SearchWord varchar(30)
SET @SearchWord ='глубокое'
print @SearchWord

выводит ????????

В чем проблема как с этим бороться!!! ХЕЛП, плиииз.
20 окт 06, 10:15    [3285936]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
JulM
Member

Откуда:
Сообщений: 8
Сорри пока задавала вопрос уже и справились. Все дело опять в этом Collatione ;)
20 окт 06, 12:19    [3287090]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Anderson
Member

Откуда: г.Ростов-на-Дону
Сообщений: 396
Пробдему так и не решил с использованием русского, видать из-за Collatione, подскажите какой должен стоят для базы, чтобы нормально начал работать полнотекстовый
8 ноя 06, 18:52    [3371534]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Anderson
Member

Откуда: г.Ростов-на-Дону
Сообщений: 396
Привет всем ещё раз, подскажите кто-то же решал данную проблему. Думаю дело в чем то мелочном... Уже сил нет перерывать всё...
9 ноя 06, 10:21    [3373168]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
JibSkeart
Member

Откуда: Из далекой галактики
Сообщений: 19873
Anderson
Пробдему так и не решил с использованием русского, видать из-за Collatione, подскажите какой должен стоят для базы, чтобы нормально начал работать полнотекстовый


А у вас какой сейчас стоит ?
9 ноя 06, 10:29    [3373269]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Anderson
Member

Откуда: г.Ростов-на-Дону
Сообщений: 396
Microsoft SQL Server 2005 - 9.00.2047.00 (X64) Apr 14 2006 01:11:53 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 1)
9 ноя 06, 10:30    [3373277]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
JibSkeart
Member

Откуда: Из далекой галактики
Сообщений: 19873
Anderson
Microsoft SQL Server 2005 - 9.00.2047.00 (X64) Apr 14 2006 01:11:53 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 1)


я про collation

Посмотри так

select 
  SC.[name],
  SC.collation 
from dbo.syscolumns SC
  inner join dbo.sysobjects SO on SO.[id] = SC.[id]
  where SO.id = object_id(N'MyTable')
9 ноя 06, 10:36    [3373345]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
Anderson
Member

Откуда: г.Ростов-на-Дону
Сообщений: 396
ID NULL
id_service NULL
id_city NULL
id_firm NULL
name	Cyrillic_General_CI_AS
city_name Cyrillic_General_CI_AS
country_name Cyrillic_General_CI_AS
zip Cyrillic_General_CI_AS
address Cyrillic_General_CI_AS
address_full Cyrillic_General_CI_AS
code Cyrillic_General_CI_AS
phone Cyrillic_General_CI_AS
fax Cyrillic_General_CI_AS
email Cyrillic_General_CI_AS
web Cyrillic_General_CI_AS
mode_work Cyrillic_General_CI_AS
info Cyrillic_General_CI_AS
letter Cyrillic_General_CI_AS
dateizm NULL
login Cyrillic_General_CI_AS
password Cyrillic_General_CI_AS
id_users NULL
9 ноя 06, 10:44    [3373429]     Ответить | Цитировать Сообщить модератору
 Re: А где обещанный full-text search с учетом русских словоформ в MS SQL 2005? (((  [new]
JibSkeart
Member

Откуда: Из далекой галактики
Сообщений: 19873
А ты попробуй так

SELECT * FROM MyTable WHERE 'name' collate Cyrillic_General_CI_AI LIKE ('текст%');

Если прокатит , то поставь этот колакшен либо по умолчанию , либо для этих полей в таблице ...
9 ноя 06, 10:53    [3373537]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить