gpt4 book ai didi

sql-server - SQL Server 全文搜索包含标点符号的短语,例如IP地址?

转载 作者:行者123 更新时间:2023-12-03 03:26:44 25 4
gpt4 key购买 nike

我正在使用 SQL Server 全文搜索可能包含 IP 地址的大型 varchar/varbinary 列中的文本。我知道地址中的点不在索引中,但我认为像这样的短语搜索会起作用:

从 myFTETable 中选择 *,其中 contains(myFTEcolumn, "192 168 100 101")

事实并非如此。我究竟做错了什么?有没有办法搜索IP地址,或者更一般地说,当原始数据中的短语包含标点符号时,有没有办法进行短语搜索?

谢谢。

最佳答案

你说得对,LIKE operator doesn't take advantage of the fulltext index随着数据库的增长,查询运行时间会变长。

您是否尝试过查询内部索引表以查看正在索引哪些数字?这可以通过运行 -

来完成
SELECT * FROM sys.dm_fts_index_keywords(db_id('{database}'), object_id('{table}'))

在全文索引表中插入 192.168.100.101 会在内部显示为 8 个不同的条目(4 个数字,4 个字符),并且运行 CONTAINS('"192 168 100 101"') 将显示相关行。

作为警告,全文将删除一些较低的数字作为其非索引字表机制的一部分。这可以通过在索引创建期间指定 STOPLIST OFF 或从内部非索引字表中删除匹配字符串来覆盖。

关于sql-server - SQL Server 全文搜索包含标点符号的短语,例如IP地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com