首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CLP之后,SQL全文搜索不工作。

在CLP之后,SQL全文搜索不工作。
EN

Stack Overflow用户
提问于 2018-06-08 13:20:18
回答 1查看 94关注 0票数 0

如果我有一个包含varchar(max)全文索引列的表,并且我将以下内容放在'CLP3 365 367‘列中,那么您就不能搜索365或367。command (mytable,‘365“)命令不提供任何数据。

如果我将字段设置为'clp3 365367‘,一切都很好。如果没有CLP (大写),那么一切都很好。顺便说一下,数据库是不区分大小写的。

如果我把什么东西放在‘中电’之前,那么FTS就会找到它。在中电之后,它找不到任何单词。

“中电”是某种神奇的关键词吗?FTS的语言是中性的,没有停止列表。此脚本只提供2条记录,而不是3条。

代码语言:javascript
复制
create table fts_test (id int identity(1,1) , fts varchar(max))
create  unique index fts_ind on fts_test (id)
insert into fts_test (fts) 
values ('CLP3 365 367'), ('clp3 365 367'), ('365 CLP3 367')
cREATE FULLTEXT INDEX ON fts_test (fts) key index fts_ind with stoplist=system;
select * from containstable(fts_test, *, '"365*"') 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-21 11:42:56

微软支持“解决”了这个问题。

中电是智利的货币。

当我们使用任何货币代码(Ex:美元、INR、ZAR等)时,都可以看到同样的行为。“

因此,在任何货币代码(大写)和它之后的数字之后,它就找不到下面的数字。如果有字后的货币代码比全文搜索会找到它,并找到后的数字。

我的解决方案是将文本中的任何货币代码转换为小写。(因为我们不需要这个特性,而且我们的数据库不区分大小写)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50761566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档