CONTAINSTABLEクエリは、小さな言葉を認識しません
-
26-09-2019 - |
質問
私が使用している 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]))
省略されている 'から' 一度、それが正常に動作します:
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
ができ、またはそれらは完全に取り残さすべきですか?これらの小さい単語が検索で実際に意味がある場合は、それらがどのように検索に含めることができますか?
解決
これらは「小さな言葉」ではありません、これらはストップリストに載っている一般的な単語です。彼らは無視されます。
を参照してください。ストップワードとストップリストのBOLでます。
他のヒント
を参照してください作成の私の答えするの終わりそして、係合カスタムフルテキストストップリストが空のものから始まります。 「」、
など「のために」、私はチェックして、空のいずれかであなたのクエリは「可能」、「へ」で動作しますアップデートます:
SQL Server 2005は、MSSQL \ FTDATA \ noiseENG.txtを持つ必要があります。
SQLで私は質問への回答を表示するreccommendたい「ノイズワードServer 2005のフルテキスト検索」する
所属していません StackOverflow