Полнотекстовый поиск в MSSQL 2008: учитывает ли грамматика грамматический пол? - PullRequest
0 голосов
/ 23 мая 2011

Мы используем полнотекстовый поиск SQL Server 2008, чтобы клиенты могли получать записи, используя FREETEXTTABLE() запросы.

При таком поиске, как:

SELECT * FROM FREETEXTTABLE(SomeTable, SomeValueColumn, 'Kunde')

Или:

SELECT * FROM FREETEXTTABLE(SomeTable, SomeValueColumn, 'Leser')

(немецкие слова для «покупателя» и «читателя» соответственно.)

, я ожидаю результатов и для женских форм этих слов.Однако эти результаты отображаются только в том случае, если я явно ищу «Kundin» или «Leserin».

Полнотекстовый язык сервера по умолчанию - 1031 (т. Е. Немецкий).Компонент языка NaturalLanguage6.dll, версия 6.0.6001.18000.

Согласно книге, это должно работать:

SQL Server iFTS автоматически включает в себя логику стволакоторый учитывает гендерные правила для других языков [..]

Это должно сработать?Если нет, могу ли я заставить его работать с помощью A) установки дополнительного / другого языкового компонента или B) с использованием другого полнотекстового движка (например, Lucene.NET)?

1 Ответ

0 голосов
/ 24 мая 2011

Я предполагаю, что несоответствие связано с тем, что ваша первая ссылка выше была написана до выпуска SQL 2008. Вторая ссылка - книга, написанная явно для SQL 2008.

ReПрочитайте полную главу в книге FTS по SQL 2008, так как для ее работы необходимо выполнить несколько шагов.А именно, определение языка в вашем запросе.

Обратите внимание на этот блок кода на стр. 116 книги (в качестве примера используется немецкий язык):

WHERE FREETEXT
(
  *, N'gift', LANGUAGE 1031
)

Вот ссылка BOOKS ONLINE(обратите внимание, языковой аргумент):

http://msdn.microsoft.com/en-us/library/ms176078.aspx

...