SQL: 如果搜索词组中有数字,全文搜索不起作用?

SQL: full-text search does not work if search phrase has number inside?

我的搜索短语是 "test doc"。

我有一个带有全文搜索短语的查询,如下所示:

SELECT doc.iEntityId, doc.strName, doc.iHandbookId
FROM m136_tblDocument doc
WHERE iLatestApproved = 1
AND doc.iDeleted = 0
AND (
(CONTAINS(doc.strName, '"test doc*"')))

结果如图: result

但是如果我尝试输入搜索词组是 "test doc 3"。

它没有命中。 result.

我预计会有 3 次点击: 测试文档 23测试文档 3测试文档 1.3.1

谁能帮帮我?

提前致谢。

全文针对正文,大文。在您的示例中,您正在搜索一些小东西。小是指短于大约 100 个字符的任何文本。

此代码将始终为您所用。

SELECT doc.iEntityId, doc.strName, doc.iHandbookId
FROM m136_tblDocument doc
WHERE iLatestApproved = 1
AND doc.iDeleted = 0
AND doc.strName LIKE '%test doc 3%'

使用全文可能有点问题。在 Microsoft connect 上发现了该功能的错误。 为了正确使用该功能,您必须阅读它的 BOL。例如,这个很好地描述了特征 - https://www.simple-talk.com/sql/learn-sql-server/sql-server-full-text-search-language-features/

对于您的情况,我的建议是将其替换为 LIKE,不用担心。索引可以提高查询性能。对其进行微调,看是否需要索引。