我是新来的全文检索,我怎么使用蕴含,而不是使用像下面的查询执行搜索
Select * From Students Where FullName LIKE '%abc%'
谢谢
我是新来的全文检索,我怎么使用蕴含,而不是使用像下面的查询执行搜索
Select * From Students Where FullName LIKE '%abc%'
谢谢
就像是:
SELECT * From Students Where CONTAINS(FullName,'abc')
链接到MSDN文档
检查时您的目录上一次人口使用这个脚本:
DECLARE @CatalogName VARCHAR(MAX)
SET @CatalogName = 'FTS_Demo_Catalog'
SELECT
DATEADD(ss, FULLTEXTCATALOGPROPERTY(@CatalogName,'PopulateCompletionAge'), '1/1/1990') AS LastPopulated
,(SELECT CASE FULLTEXTCATALOGPROPERTY(@CatalogName,'PopulateStatus')
WHEN 0 THEN 'Idle'
WHEN 1 THEN 'Full Population In Progress'
WHEN 2 THEN 'Paused'
WHEN 3 THEN 'Throttled'
WHEN 4 THEN 'Recovering'
WHEN 5 THEN 'Shutdown'
WHEN 6 THEN 'Incremental Population In Progress'
WHEN 7 THEN 'Building Index'
WHEN 8 THEN 'Disk Full. Paused'
WHEN 9 THEN 'Change Tracking' END) AS PopulateStatus
FROM sys.fulltext_catalogs AS cat
您可能需要重新填充您的全文索引,才能看到目前的结果。 如果你定义的FTS列,然后加载数据到表中,搜索索引是不是最新的。
如果您需要这是定期更新,看看这篇文章对科技网
如果“ABC”是你真正需要的部分匹配,改变你的CONTAINS语句是这样的:
SELECT *
FROM Students
WHERE CONTAINS(FullName, '"abc*"')
要么
SELECT *
FROM Students
WHERE CONTAINS(FullName, '"*abc*"')
来源: MSDN -包含