我的搜索短语是"测试文档"。
我有一个带有全文搜索短语的查询,如下所示:
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
但是,如果我尝试将搜索短语放在"测试文档3"。
没有任何打击。 result
我的预期会给出3次点击: test docyument 23 , test doc 3 和 test doc 1.3.1
任何人都可以帮助我吗?
提前感谢。
答案 0 :(得分:0)
全文主要针对文本,大文本。在你的例子中,你正在寻找一些小东西。小是任何短于约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替换它,不用担心。索引可以提高查询性能。对其进行简短调整,看看是否需要索引。