我是全文搜索新手,如何使用包含而不是在以下查询中使用like执行搜索
Select * From Students Where FullName LIKE '%abc%'
由于
答案 0 :(得分:2)
答案 1 :(得分:2)
使用此脚本检查上次填充目录的时间:
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列,然后将数据加载到表中,则搜索索引不是最新的。
如果您需要定期更新,请查看Tech Net上的this article
答案 2 :(得分:0)
如果“abc”与您真正寻求的部分匹配,请更改您的CONTAINS语句,如下所示:
SELECT *
FROM Students
WHERE CONTAINS(FullName, '"abc*"')
OR
SELECT *
FROM Students
WHERE CONTAINS(FullName, '"*abc*"')