【发布时间】:2018-10-21 04:54:03
【问题描述】:
我在客户的数据库中进行全文搜索时遇到问题。这个问题只发生在客户端的数据库上,我无法在本地重现,所以我认为它应该与数据库中的现有数据有关。
在存储过程中,我验证不同符号的关键字,然后对其进行操作并将结果分配给@SearchString。如果我的关键字不包含任何空格的引号,我将在所有列上都有全文索引的表上运行以下查询:
SELECT [KEY] FROM CONTAINSTABLE([TableName], *, @SearchString, 1000)
我传递给存储过程的关键字是 I-MU-MUMB-ISC-2909 并且在操作之后,我分配 "I-MU-MUMB-ISC-2909* " 到 @SearchString。即使其中一列中存在确切的字符串,查询也不会返回任何结果。我在创建这个全文索引时使用了 STOPLIST = OFF,所以我的问题不应该是停用词。此外,如果我搜索 I-MU-MUMB-ISC-2908,(字符串以 8 而不是 9 结尾)在同一列中包含此字符串的另一行将显示在结果中。 p>
我什至修改了select并使用了包含关键字的特定列名,但还是没有结果。
如果有帮助,我注意到这两行以及另外几百行在其中一列中有 I-MU-MUMB。
我没有直接访问服务器的权限,所以如果您能给我一些建议,我将不胜感激,以便稍后我可以访问服务器时进行测试。
谢谢!
【问题讨论】:
标签: sql-server full-text-search