向SQL Server全文索引进军,艰难历程
向SQL Server全文索引进军,艰难历程 写这篇文章本来不在计划之内,以前也没有接触过全文索引。偶然的一次备课中。突然有了灵感。决定将自己创建及其使用全文索引的过程记录下来,以备后续使用。 至于全文索引的概念,网上一大堆,这里就不再赘述。直接切入正
向SQL Server全文索引进军,艰难历程
写这篇文章本来不在计划之内,以前也没有接触过全文索引。偶然的一次备课中。突然有了灵感。决定将自己创建及其使用全文索引的过程记录下来,以备后续使用。
至于全文索引的概念,网上一大堆,这里就不再赘述。直接切入正题。
创建全文索引步骤:
1:对着数据库点击右键-选择属性-选择文件,选中“使用全文索引”
该选项只要勾选就可以了,默认都是勾选的。
2:对着表点击右键-全文索引-定义全文索引
3:点击下一步,如果这个表中没有唯一性索引就会出现下图所示
4:选择表列,选择断字符语言。
5:点击下一步,这里的选项要注意,如果不想再表、视图更改的时候更新全文索引,那就选择不跟踪更改;这样就可以选择是否在创建索引时启动完全填充了。
6:点击下一步创建索引要保存的目录,香港服务器,全文索引的索引文件是以文件的形式保存到硬盘上的。
7:之后就可以设置自动填充、手动跟踪更改,还有设置计划了。
上述步骤虽然简单,但是我在创建时,碰到了N多问题
问题描述:
01.首先我对表点击右键的时候,全文索引菜单项是灰色,不可用状态
如下图
通过查询资料发现需要执行如下命令开启该菜单项目
EXEC sp_fulltext_database 'ensable'
这样全文索引就变成可用状态了。
如果想让全文索引重新变暗(当然一般人不会这么做),可以执行如下代码
EXEC sp_fulltext_database 'disable'
02.在使用全文索引进行检索时,必须要开启全文检索服务
默认该服务是关闭的。
03.当我创建好全文索引后,通过如下语句进行索引关键字时
Select content from info infoinfo
where contains(content, '但为了获得最佳性能,建议使用主键约束或唯一约束。')
出现了如下提示:
"SQL Server 在与全文筛选器后台程序宿主(FDHost)进程通信时遇到错误 0x80070218。请确保 FDHost 进程正在运行。若要重新启动 FDHost 进程,请运行 sp_fulltext_service 'restart_all_fdhosts' 命令或重新启动 SQL Server 实例。 "
经过反复摸索, 发现需要在 SQL配置工具里面, 更改全文服务的运行账户, 有默认的 "系统内设"-->"本地账户", 搞定!
但是更改完该设置后,我依然没能笑出声来,原因是接下来虽然没有错误发生,但是却检索不出我需要的结果,但通过like进行检索,的确有数据。
select content from infoinfo
where content like '%但为了获得最佳性能,建议使用主键约束或唯一约束。%'
这时候,我差点崩溃了。没办法,继续搜索资料。
最后,从微软官网上搜索到这样一篇文章
里面详细讲述了产生该问题的原因,以及对应的解决方案
请注意
重要提示: 本文包含有关修改注册表的信息。 在修改注册表之前,请务必对其进行备份,并确保您了解如何还原注册表发生问题。有关如何备份、 还原,和编辑注册表单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986Microsoft Windows 注册表的说明
症状
具有 300 KB 以上的文本 (超过 150 KB ntext列的 UNICODE 文本) 的文本的全文启用的列上运行全文索引包含查询时,美国空间,您可能会收到一条消息,"0 行受影响",即使存在有效的结果。
原因
Microsoft 搜索服务 (MSSearch.exe) 维护 SQL Server 7.0 全文搜索来搜索的基于字符的数据类型,如字符、 varchar、文本和ntext的全文目录。文本可以有多个 300 KB 的数据根据您定义的列 (ntext可以有多个 150 KB 的 UNICODE 文本)。全文索引填充时,MSSearch 服务从文本列中检索所有非重复的单词,并将它们存储在虚拟内存中,它将它们合并到主索引之前。MSSearch 属性可防止 MSSearch 服务占用的虚拟内存。MSSearch 属性由下面的注册表和它的值控制:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\
例如: Full_Text_Catalog_Name = SQL0000500005
此注册表项的默认值设置为 307200 (300 KB)。因此,MSSearch 服务假定 300 KB 的文本作为重要和填充全文索引时将忽略文本列的其余的数据。
因此,当您运行全文的 CONTAINS 子句查询来搜索后 300 KB 的文本将出现在文本栏中的单词,不可能获得有效的结果。
替代方法
警告: 如果注册表编辑器使用不当,可能会导致严重的问题,可能需要您重新安装操作系统。注册表编辑器使用不当所产生的问题,Microsoft 不能保证您可以解决。使用注册表编辑器需要您自担风险。
若要变通解决此问题:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\Full_Text_Catalog_Name\
(例如: Full_Text_Catalog_Name = SQL0000500005)。
但是真正按照这个文档进行操作时,再次碰到了问题,就是第3步到1.0后,没有Indexer文件夹,我晕,只能再次硬着头皮查资料。结果,网上资料很少,却搜到一篇一模一样的英文文章,是这样写的
PRB: A Full-Text Search Query on TEXT or NTEXT Column Does Not Return Valid ResultsArticle ID: 241113 - View products that this article applies to.
This article was previously published under Q241113
Notice
Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



<h2>Cara Menyembunyikan Fail dan Folder daripada Carian pada Windows 11</h2><p>Perkara pertama yang perlu kita lihat ialah menyesuaikan lokasi fail Carian Windows. Dengan melangkau lokasi khusus ini, anda sepatutnya dapat melihat hasil dengan lebih cepat sambil menyembunyikan sebarang fail yang anda ingin lindungi. </p><p>Jika anda ingin mengecualikan fail dan folder daripada carian pada Windows 11, gunakan langkah berikut: </p><ol&

Jika bar carian anda tidak berfungsi dalam Windows 11, terdapat beberapa cara pantas untuk menyediakannya dan berjalan dalam masa yang singkat! Mana-mana sistem pengendalian Microsoft boleh mengalami gangguan dari semasa ke semasa, dan sistem pengendalian terkini tidak terkecuali daripada peraturan ini. Selain itu, seperti yang ditunjukkan oleh pengguna u/zebra_head1 pada Reddit, ralat yang sama muncul pada Windows 11 dengan 22H2Build22621.1413. Pengguna mengadu bahawa pilihan untuk menogol kotak carian bar tugas secara rawak hilang. Oleh itu, anda mesti bersedia untuk sebarang keadaan. Mengapa saya tidak boleh menaip dalam bar carian pada komputer saya? Ketidakupayaan untuk menaip pada komputer boleh dikaitkan dengan faktor dan proses yang berbeza. Berikut ialah beberapa perkara yang perlu anda ketahui: Ctfmon.

WindowsServerBackup ialah fungsi yang disertakan dengan sistem pengendalian WindowsServer, direka untuk membantu pengguna melindungi data penting dan konfigurasi sistem, serta menyediakan penyelesaian sandaran dan pemulihan yang lengkap untuk perusahaan peringkat kecil, sederhana dan perusahaan. Hanya pengguna yang menjalankan Server2022 dan lebih tinggi boleh menggunakan ciri ini. Dalam artikel ini, kami akan menerangkan cara memasang, menyahpasang atau menetapkan semula WindowsServerBackup. Cara Menetapkan Semula Sandaran Pelayan Windows Jika anda mengalami masalah dengan sandaran pelayan anda, sandaran mengambil masa terlalu lama, atau anda tidak dapat mengakses fail yang disimpan, maka anda boleh mempertimbangkan untuk menetapkan semula tetapan sandaran Pelayan Windows anda. Untuk menetapkan semula Windows

Jenis indeks Oracle termasuk: 1. Indeks B-Tree; 3. Indeks fungsi; Indeks sambungan peta bit; 10. Indeks komposit. Pengenalan terperinci: 1. Indeks B-Tree ialah struktur data pokok pengimbangan sendiri yang boleh menyokong operasi serentak dengan cekap Dalam pangkalan data Oracle, indeks B-Tree ialah jenis indeks yang paling biasa digunakan. Indeks Graf Bit adalah berdasarkan jenis indeks pada algoritma bitmap dan sebagainya.

Sempena mengeluarkan versi Windows Server binaan 26040, Microsoft mengumumkan nama rasmi produk: Windows Server 2025. Turut dilancarkan ialah versi Windows11WindowsInsiderCanaryChannel build26040. Sesetengah rakan mungkin masih ingat bahawa bertahun-tahun yang lalu seseorang berjaya menukar Windows NT daripada mod stesen kerja kepada mod pelayan, menunjukkan persamaan antara pelbagai versi sistem pengendalian Microsoft. Walaupun terdapat perbezaan yang jelas antara versi semasa sistem pengendalian pelayan Microsoft dan Windows 11, mereka yang memberi perhatian kepada butiran mungkin tertanya-tanya: mengapa Windows Server mengemas kini jenama,

Penyelesaiannya ialah: 1. Semak sama ada nilai indeks adalah betul: mula-mula sahkan sama ada nilai indeks anda melebihi julat panjang tatasusunan. Indeks tatasusunan bermula dari 0, jadi nilai indeks maksimum hendaklah panjang tatasusunan tolak 1. Semak keadaan sempadan gelung: Jika anda menggunakan indeks untuk akses tatasusunan dalam gelung, pastikan syarat sempadan gelung adalah betul; 3. Mulakan tatasusunan: Sebelum menggunakan tatasusunan, pastikan tatasusunan telah dimulakan dengan betul. dan mengendalikannya dengan sewajarnya.

Bagaimana untuk mengubah suai nama lalai nginx, anda boleh menyamarkannya sedikit, atau anda boleh memasang Petua: Secara amnya, pengubahsuaian dibuat sebelum nginx disusun Selepas pengubahsuaian, kod tersebut perlu disusun semula seperti berikut: scr/core/nginx.conf#definenginx_version"1.4.7"#definenginx_ver"nginx/"n

Bagaimana untuk meningkatkan kecekapan pengumpulan data dan pengagregatan data dalam PHP dan MySQL melalui indeks? Pengenalan: PHP dan MySQL kini merupakan bahasa pengaturcaraan dan sistem pengurusan pangkalan data yang paling banyak digunakan, dan sering digunakan untuk membina aplikasi web dan memproses sejumlah besar data. Pengumpulan data dan pengagregatan data adalah operasi biasa apabila memproses sejumlah besar data, tetapi jika indeks tidak direka bentuk dan digunakan dengan sewajarnya, operasi ini boleh menjadi sangat tidak cekap. Artikel ini akan memperkenalkan cara menggunakan indeks untuk meningkatkan kecekapan pengumpulan data dan pengagregatan data dalam PHP dan MySQL, serta menambah baik
