在 SQL 2005 中使用全文搜索来搜索数字字符串

发布于 2024-09-28 23:48:25 字数 323 浏览 2 评论 0原文

我正在使用 SQL 全文搜索,并且有一个使用 FREETEXTTABLE 函数的存储过程。

这一切都很好,但是,我注意到,如果我搜索“第 19 章”之类的内容,则 19 似乎被丢弃了,并且搜索仅搜索“第 19 章”。

另外,如果我只搜索“19”,我不会得到任何结果。我知道我索引的列在多行中包含“19”。

这是预期的行为吗?不索引数字?

如果是这样,那么我想我将不得不忍受它,但如果不是,如果有人认为我做错了什么,我会很乐意发布任何 T-SQL。

谢谢。

PS 我已经用谷歌搜索过这个,但没有发现任何关于搜索数字将进行全文搜索的内容。

I'm using the SQL Full-Text Search and have a stored proceedure that uses the FREETEXTTABLE function.

This all works great, however, I have noticed that if I search for something such as 'Chapter 19' the 19 seems as if it is thrown away and the search only searches on 'Chapter'.

Also if I search for just '19' I get no results. I know the columns I have indexed contain a '19' in multiple rows.

Is this the intended behaviour? To not index numerics?

If so, then I suppose I'll have to live with it, but if not I'll be happy to post any T-SQL if anyone thinks I'm doing anything wrong.

Thanks.

P.S. I've googled this and have found nothing on searching numerics will full-text search.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤独陪着我 2024-10-05 23:48:25

我最终找到了这背后的原因。

数字在 SQL Server 中被视为干扰词。您可以通过删除适合您的语言的噪声文件中的数字条目来允许搜索数字。

噪声文件位于 SQL Server 安装的 FTData 目录中。

英文噪音文件为:noiseENU.txt & noiseENG.txt

希望这对某人有帮助。

I eventually found the reason behind this.

Numerics are considered as noise words in SQL server. You can allow searching on numerics by removing the numeric entries in the appropriate noise file for your language.

Noise files are found at in the FTData directoraty of your SQL Server install.

The english noise files are: noiseENU.txt & noiseENG.txt

Hope this helps someone.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文