全文搜索无法通过删除字符串字体处的字符来查找结果

本文关键字:字体 字符串 字符 结果 查找 删除 文搜索 搜索 | 更新日期: 2023-09-27 18:35:01

当我删除前几个字符时,我的表上有一个全文目录搜索字符串它再也找不到我的产品了,但是当我删除最后几个时,它找到合适的产品。

当我发现我在另一个站点/服务器上测试了该行为时,它正在完全工作,不管我删除前面还是后面的一些字符,它仍然可以找到我的产品。

加工:

SELECT ProductId FROM Product WHERE CONTAINS((FreeTextSearchString),'"*ij2001AR*"')
SELECT ProductId FROM Product WHERE CONTAINS((FreeTextSearchString),'"*ij2001*"')

不工作:

SELECT ProductId FROM Product WHERE CONTAINS((FreeTextSearchString),'"*2001AR*"')

为什么会这样?我能做些什么来修复它?

全文搜索无法通过删除字符串字体处的字符来查找结果

根据我对查询 7 (包含(的观察

SELECT * FROM content WHERE contains(Description,'  "*azine"  ')

不能使用星号作为前缀的占位符。

查看 msdn 的 CONTAINS 语法,似乎您应该将要搜索的列作为第一个参数传递:

DECLARE @SearchWord varchar(30)
SET @SearchWord ='performance'
SELECT Description 
FROM Production.ProductDescription 
WHERE CONTAINS(Description, @SearchWord);

上面的示例中,如果您过滤了"perf"的字段描述而不带 *,它应该在字段描述中返回带有"性能"的行,对吗?

链接到 msdn 参考: msdn