質問

私が使用している 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のフルテキスト検索」する

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top