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,不用担心。索引可以提高查询性能。对其进行微调,看是否需要索引。
我的搜索短语是 "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,不用担心。索引可以提高查询性能。对其进行微调,看是否需要索引。