SQL Server FREETEXTTABLE
を使用して、検索エンジンのようにユーザーが入力した単語に基づいてテーブルの列を検索し、最適な一致する行を返します。SQL Server FREETEXTTABLEが結果を返さない
テーブルの列には多くの質問が含まれ、ユーザーはテキストボックスに(何らかの順序で)何かを入力し、入力した内容に基づいて検索ページに自動入力する必要があります。
私はこれにFREETEXTTABLE
を使用しました。しかし、場合によっては機能しません。
「what」と入力すると何も返されません。
DECLARE @query VARCHAR(50) = 'what'
SELECT TOP 10 Questions
FROM tblQuestion tq
INNER JOIN FREETEXTTABLE(tblQuestion, Questions, @query) ft ON (tq.ID = ft.[Key])
ORDER BY ft.Rank DESC
と入力しますが、「何か」と入力すると10個のレコードが返されます。
DECLARE @query VARCHAR(50) = 'what is'
SELECT TOP 10 Questions
FROM tblQuestion tq
INNER JOIN FREETEXTTABLE(tblQuestion, Questions, @query) ft ON (tq.ID = ft.[Key])
ORDER BY ft.Rank DESC
私もCONTAINS
とFREETEXT
を試してみました。
SELECT *
FROM tblQuestion
WHERE FREETEXT (Questions, 'what')
このクエリでも0行が返されました。
しかし、この以下のクエリでは、いくつかの行が返されました。
SELECT *
FROM tblQuestion
WHERE FREETEXT (Questions, 'what is')
ねえパヴェルDYL おかげで男を。 私はあなたに与えられたソリューションを実装しました。 –