我有一個全文檢索的視圖,該視圖返回所有業務的批准業務&元數據。全文搜索完全匹配檢查SQL Server
我實現了一個存儲過程,利用與下面的代碼的全文檢索:
CREATE PROCEDURE [dbo].[Search]
@SearchTerm varchar(8000),
@CurrentPage int = 1,
@PageSize int = 100
AS
BEGIN
DECLARE @NearPredicate varchar(8000),
@AndPredicate varchar(8000),
@TotalRecords int
SELECT
@NearPredicate = COALESCE(@NearPredicate + ' NEAR ', '') + Data
FROM Split(@SearchTerm, ' ')
LEFT JOIN sys.fulltext_system_stopwords ON Data = stopword
WHERE stopword IS NULL
SET @AndPredicate = REPLACE(@NearPredicate, 'NEAR', 'AND')
SET @NearPredicate = '(' + @NearPredicate + ')'
SET @TotalRecords = (
SELECT
COUNT(*)
FROM
vwApprovedBusiness
WHERE FREETEXT(*, @AndPredicate)
)
SELECT *,
ct.Rank,
@TotalRecords AS TotalRecords
FROM
vwApprovedBusiness a
INNER JOIN FREETEXTTABLE (vwApprovedBusiness, *, @NearPredicate) AS ct ON a.MyBusinessID = ct.[KEY]
ORDER BY
ct.RANK DESC
OFFSET (@CurrentPage - 1) * @PageSize ROWS FETCH NEXT @PageSize ROWS only
END
如果我搜索公司名稱如One Guy Transport這是一項經過批准的業務,它僅在我的搜索結果中顯示在第6或第7位左右,而不是預期的第一個結果。任何援助與此將不勝感激!
這就是答案? http://stackoverflow.com/questions/16130526/sql-server-full-text-search-for-exact-match-with-fallback查看flups答案 – Lukek