全文搜索未通过删除字符串字体中的字符来查找结果

Posted

技术标签:

【中文标题】全文搜索未通过删除字符串字体中的字符来查找结果【英文标题】:Full-text search not finding results by removing characters at the font of the string 【发布时间】:2014-12-23 10:38:33 【问题描述】:

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

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

工作:

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

不工作:

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

为什么会这样?我能做些什么来解决它?

【问题讨论】:

【参考方案1】:

根据我对Query 7 (CONTAINS)的观察

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

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

【讨论】:

【参考方案2】:

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

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

在上面的示例中,如果您在不带 * 的情况下为“perf”过滤字段描述,它应该返回字段描述中带有“性能”的行,对吗?

msdn 参考链接: msdn

【讨论】:

以上是关于全文搜索未通过删除字符串字体中的字符来查找结果的主要内容,如果未能解决你的问题,请参考以下文章

Lucene及全文搜索实现原理

请告知mongoDB中全文搜索的最佳解决方案

Sharepoint 上的模拟全文搜索(无密码)

Sql Server 2005 全文搜索中的噪声词

MySQL FULLTEXT全文索引

如何提高sql2000全文检索搜索效率