Различия между версиями SQL Server Word Breaker (полнотекстовый поиск) - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть две разные среды, LIVE и STAGING.

В них запущена веб-версия SQL Server 2016, но есть небольшие различия в версии как самого хоста SQL, так и некоторых полнотекстовых компонентов.а именно: средство разбиения по словам (MsWb7.dll)

LIVE: SQL: 13.0.1728.2, Word breaker: 15.0.4569.1503
STAGING: SQL: 13.0.4466.4, Word breaker: 14.0.4763.1000

Я получаю версии средства разбиения по словам, используя:

EXEC sp_help_fulltext_system_components 'wordbreaker';

Я использую sys.dm_fts_parser, чтобы разбить слово, используя подчеркивание:

SELECT *
FROM sys.dm_fts_parser('xxxx_yyyy', 1033, 0, 0)

ГДЕ 1033 - это LCID для английского языка.

Вот результаты в LIVE:

keyword                                   group_id    phrase_id   occurrence  special_term     display_term  expansion_type source_term
---------------------------------------------------------------------------------------------------------------------------------------
0x006200750069006C005F006E003000350030    1           0           1           Exact Match      xxxx_yyyy                                                                                                                                                                                                                                                        0              xxxx_yyyy
0x006200750069006C                        1           0           1           Exact Match      xxxx          0              xxxx_yyyy
0x006E003000350030                        1           0           2           Exact Match      yyyy          0              xxxx_yyyy

И результаты в STAGING:

keyword                                   group_id    phrase_id   occurrence  special_term     display_term  expansion_type source_term
---------------------------------------------------------------------------------------------------------------------------------------
0x006200750069006C005F006E003000350030    1           0           1           Exact Match      xxxx_yyyy                                 

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

Кто-нибудь еще испытал это?

1 Ответ

0 голосов
/ 11 августа 2019

Слишком поздно, но,

У меня была такая же проблема, и для меня результаты метода sys.dm_fts_parser были другими.Вы можете увидеть мой вопрос здесь

Я предлагаю создать свой собственный инструмент разбиения по словам.

см. ответ на связанный вопрос здесь

...