Mengubah pemecah kata dan filter di SQL Server 2025 (Pencarian SQL Server)

Aplikasi ke: SQL Server 2025 (17.x)

SQL Server 2025 (17.x) menginstal pemecah kata dan filter baru, menggantikan semua versi komponen ini sebelumnya. Untuk informasi selengkapnya, lihat Perubahan perilaku di Pencarian Full-Text.

Biner yang diinstal dengan SQL Server 2025 (17.x) disebut version 2, dan biner yang diinstal dengan SQL Server 2022 (16.x) dan versi sebelumnya disebut version 1. Artikel ini menjelaskan cara beralih antara komponen versi 2 dan versi 1.

Beralih dari komponen versi 2 ke versi 1

Nota

Anda harus menggunakan pemecah kata versi 2 default dan filter yang diinstal dengan SQL Server 2025 (17.x). Sistem-sistem tersebut telah ditingkatkan, lebih aman, dan sesuai standar pemindaian keamanan.

Konfigurasi dengan lingkup database default untuk indeks lengkap teks merupakan versi 2. Anda dapat mengubahnya menjadi versi 1 dengan pernyataan Transact-SQL berikut.

ALTER DATABASE SCOPED CONFIGURATION SET FULLTEXT_INDEX_VERSION = 1;

Pemecah kata dan filter versi warisan 1 dihapus dari SQL Server 2025 (17.x). Anda harus menyalin file biner ini dari direktori C:\Program Files\Microsoft SQL Server\MSSQL<nn>.<instance-name>\MSSQL\Binn instans sebelumnya, di mana <nn> adalah versi produk. Untuk informasi selengkapnya, lihat Filter dan pemecah kata - SQL Server Full-Text Search.

Untuk indeks yang sudah ada, verifikasi versi menggunakan tampilan katalog sys.fulltext_indexes . Jika indeks sudah versi 1, Anda tidak perlu membangunnya kembali. Untuk indeks versi 2, buat ulang katalog untuk beralih kembali ke versi 1.

Beralih dari komponen versi 1 ke versi 2

Untuk instans yang ditingkatkan dari SQL Server 2022 (16.x) ke SQL Server 2025 (17.x), Anda harus membangun kembali indeks teks lengkap dengan komponen versi 1 menggunakan komponen versi 2.

ALTER FULLTEXT CATALOG [FtCatalog] REBUILD;

Nota

Operasi pembangunan ulang katalog membangun kembali semua indeks teks lengkap. Jika Anda ingin mengontrol urutan build indeks, atau mengurangi persyaratan sumber daya, hilangkan dan buat ulang indeks teks lengkap satu per satu.

Mengubah pemisah kata yang digunakan untuk bahasa Inggris AS dan Inggris UK

Aplikasi ke: SQL Server 2022 (16.x) dan versi yang lebih lama, dan Azure SQL Database

SQL Server 2012 (11.x) menginstal versi terbaru dari pemecah kata dan stemmer untuk bahasa Inggris, menggantikan versi sebelumnya dari komponen-komponen ini. Untuk informasi tentang perubahan perilaku komponen yang diperbarui, lihat Perubahan perilaku di pencarian Full-Text.

Artikel ini menjelaskan cara beralih dari versi terbaru komponen ini ke versi sebelumnya, atau untuk beralih kembali dari versi sebelumnya ke versi yang diperbarui. Untuk penginstalan kluster, buat perubahan ini pada semua simpul.

Beberapa versi SQL Server sebelumnya menggunakan pemecah kata yang berbeda yang diwakili oleh CLSID yang berbeda untuk bahasa Inggris AS (LCID 1033) dan Inggris Inggris (LCID 2057). Pada SQL Server 2012 (11.x) dan versi yang lebih baru, kedua pengidentifikasi lokal (LCID) menggunakan komponen yang sama dengan CLSID yang sama, seperti yang ditunjukkan dalam tabel berikut:

LCID Word Breaker diinstal oleh versi sebelumnya (versi 12.0.6828.0) Stemmer yang diinstal versi-versi sebelumnya Word breaker dipasang dengan SQL Server 2012 serta versi-versi yang lebih baru (versi 14.0.4999.1038) Stemmer diinstal dengan SQL Server 2012 dan versi yang lebih tinggi
1033 Bahasa Inggris AS 188d6cc5-cb03-4c01-912e-47d21295d77e eeed4c20-7f1b-11ce-be57-00aa0051fe20 9faed859-0b30-4434-ae65-412e14a16fb8 e1e5ef84-c4a6-4e50-8188-99aef3de2659
2057 (Inggris) 173c97e2-aebe-437c-9445-01b237abf2f6 d99f7670-7f1a-11ce-be57-00aa0051fe20 9faed859-0b30-4434-ae65-412e14a16fb8 e1e5ef84-c4a6-4e50-8188-99aef3de2659

Komponen yang dijelaskan dalam artikel ini adalah file DLL yang diinstal di folder MSSQL\Binn untuk instans SQL Server. Jalur lengkap biasanya C:\Program Files\Microsoft SQL Server\<instance>\MSSQL\Binn.

Untuk informasi selengkapnya tentang pemecah kata dan stemmer, lihat Konfigurasi dan kelola pemecah kata dan stemmer untuk pencarian (SQL Server).

Beralih dari pemecah kata bahasa Inggris saat ini ke pemecah kata bahasa Inggris sebelumnya

Contoh ini menggunakan MSSQL17.MSSQLSERVER untuk nilai <InstanceRoot>, yang merupakan instance default untuk SQL Server 2025 (17.x). Sesuaikan nilai ini agar sesuai dengan lingkungan Anda.

Perintah berikut menambahkan atau memperbarui kunci di registri Windows, untuk mengatur COM ClassIDs untuk pemutus kata bahasa Inggris AS sebelumnya dan antarmuka stemmer untuk LCID 1033 (enu).

Jalankan perintah ini dari prompt perintah dengan hak akses administrator:

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\CLSID\{188D6CC5-CB03-4C01-912E-47D21295D77E}" /ve /t REG_SZ /d "langwrbk.dll"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\CLSID\{EEED4C20-7F1B-11CE-BE57-00AA0051FE20}" /ve /t REG_SZ /d "infosoft.dll"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\Language\enu" /v "WBreakerClass" /t REG_SZ /d "{188D6CC5-CB03-4C01-912E-47D21295D77E}" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\Language\enu" /v "StemmerClass" /t REG_SZ /d "{EEED4C20-7F1B-11CE-BE57-00AA0051FE20}" /f

Mulai ulang SQL Server untuk menggunakan pengaturan pemecah kata ini.

Beralih kembali dari pemecah kata bahasa Inggris sebelumnya ke pemecah kata bahasa Inggris saat ini

Contoh ini menggunakan MSSQL17.MSSQLSERVER untuk nilai <InstanceRoot>, yang merupakan instance default untuk SQL Server 2025 (17.x). Sesuaikan nilai ini agar sesuai dengan lingkungan Anda.

Perintah berikut menambahkan atau memperbarui kunci di registri Windows, untuk mengembalikan COM ClassID dari Bahasa Inggris AS untuk LCID 1033 (enu).

Jalankan perintah ini dari prompt perintah dengan hak akses administrator:

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\CLSID\{9FAED859-0B30-4434-AE65-412E14A16FB8}" /ve /t REG_SZ /d "MsWb7.dll"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\CLSID\{E1E5EF84-C4A6-4E50-8188-99AEF3DE2659}" /ve /t REG_SZ /d "MsWb7.dll"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\Language\enu" /v "WBreakerClass" /t REG_SZ /d "{9FAED859-0B30-4434-AE65-412E14A16FB8}" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\Language\enu" /v "StemmerClass" /t REG_SZ /d "{E1E5EF84-C4A6-4E50-8188-99AEF3DE2659}" /f

Mulai ulang SQL Server untuk menggunakan pengaturan pemecah kata ini.