SQL Server 2008 R2 Полнотекстовый поиск с FORMSOF и Accent Insensitive - PullRequest
4 голосов
/ 12 апреля 2011

Я использую MS SQL Server 2008 R2 с полнотекстовым поиском для поиска текстовых данных, хранящихся на разных языках.

Я немного озадачен тем, как предикат CONTAINS работает с акцентами.

Когда я использую следующий предикат

CONTAINS([Text], @keywords  , Language @language)

в каталоге с ACCENT_SENSITIVITY = OFF результаты поиска такие же, например, как. 'Lächeln' и 'lacheln', когда в качестве языка указывается Германия.

Но если я изменю предикат, чтобы он выглядел как

CONTAINS([Text], FORMSOF(INFLECTIONAL, @keywords)  , Language @language) 

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

Я пытался найти ответ в MSDN и Google, но не нашел ничего полезного.

Кто-нибудь знает, почему результаты отличаются?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 16 октября 2012

FORMSOF отрывает диакритические знаки от Вашего слова:

SELECT * FROM sys.dm_fts_parser(N'FORMSOF(INFLECTIONAL, "Lächeln")', 1031, 0, 1)

проверьте столбец "display_term".

0 голосов
/ 28 октября 2011

Насколько я понимаю, они служат двум отдельным целям при поиске совпадений для полнотекстового поиска.В каталоге, нечувствительном к акценту, для соответствия используется простое равенство символов, так что eñya = enya, поскольку n считается нечувствительным к акценту эквивалентом 'ñ'.

С FORMSOF вы запрашиваете, чтобыпоиск выполняет операцию с терминами, чтобы формы глагола и существительного были найдены как дополнительные термины в поиске.например, поиск «foot» будет включать «foot», а «run» будет включать «run».

Если FORMSOF, по-видимому, принципиально не работает для ваших значений, вы можете убедиться, что у вас есть соответствующиеязыковая поддержка установлена ​​для полнотекстовых языков.SELECT * FROM sys.fulltext_languages

Если у вас не было возможности просмотреть MSDN, документация по средствам разбиения по SQL может пролить свет на наблюдаемое поведение.http://msdn.microsoft.com/en-us/library/ms142509.aspx

...