CONTAINSTABLE
2つのテーブル列を検索するために使用しています。検索に「」のような小さな単語が含まれると、それらが実際に列に存在する場合でも、検索は結果を返しません。
簡単な例。検索対象の列にテキストが含まれています。「システムをアップグレードする必要があります」
次のSQLは0行を返します
SELECT * FROM Incident WHERE (TicketNumber IN (
SELECT TicketNumber FROM [Action] FT_TBL INNER JOIN
CONTAINSTABLE(Action, Text, '"system" AND "needs" AND "to" AND "upgraded" AND NOT "Search Summary"') KEY_TBL ON FT_TBL.ID = KEY_TBL.[KEY]
UNION
SELECT TicketNumber FROM [Incident] FT_TBL INNER JOIN
CONTAINSTABLE(Incident, Subject, '"system" AND "needs" AND "to" AND "upgraded"') AS KEY_TBL ON FT_TBL.TicketNumber = KEY_TBL.[KEY]))
'to'を省略すると、正常に機能します。
SELECT * FROM Incident WHERE (TicketNumber IN (
SELECT TicketNumber FROM [Action] FT_TBL INNER JOIN
CONTAINSTABLE(Action, Text, '"system" AND "needs" AND "upgraded" AND NOT "Search Summary"') KEY_TBL ON FT_TBL.ID = KEY_TBL.[KEY]
UNION
SELECT TicketNumber FROM [Incident] FT_TBL INNER JOIN
CONTAINSTABLE(Incident, Subject, '"system" AND "needs" AND "upgraded"') AS KEY_TBL ON FT_TBL.TicketNumber = KEY_TBL.[KEY]))
CONTAINSTABLE
これらの小さな単語でどのように使用できますか、またはそれらを完全に除外する必要がありますか?これらの小さな単語が実際に検索で意味がある場合、どのようにしてそれらを検索に含めることができますか?