web-dev-qa-db-ja.com

SQL Server:ノイズワードによる検索結果なし

SQL Server 2008を介したインポート/エクスポートを介してデータベースをSQL Server 2000からSQL Server 2014に移動し、2014年のインポートとの互換性を確保しました。これまでのところ、問題なく機能しています。

通常はストップリストにある単語(記事など)を使用すると、フルテキスト検索の検索が中断または中断され、結果が返されないことがわかりました。重要なキーワードのみを使用すると、通常どおり結果が返されます。 SQL Serverの古いバージョンのAFAIKは、ストップリストとは異なるシステムが使用されていました。FTDataフォルダーには関連がないため、空またはコメント。

SQL Server Management Studioを介してデータベースを検査すると、選択したデータベース(Storageの下)にストップリストが構成されていないことがわかります。システムストップリストに基づいて新しいものを追加してみましたが、動作に違いはありませんでした。

この動作の原因は何ですか?

[〜#〜]更新[〜#〜]

使用されるクエリ:

SELECT ProductID FROM SearchTable WHERE CONTAINS(*, '"Word"') AND
CONTAINS(*, '"noiseword"')

検索クエリでは単語がANDで結合されているため、結果は失敗します。ノイズを使用すると、Wordは明らかにfalseを返すため、アイテムは返されません。

私はその動作を変更しようとしましたが、これによって妨げられていません:

sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'transform noise words', 1;
RECONFIGURE;
GO

WBobによって提案された this および this の記事に基づいて役立つ可能性がある再構築を試みます。

3

ストップリストを単に非アクティブ化するだけで問題が解決しました。より良い解決策があるかもしれませんが、これは私にとってはうまくいきました。

Use database; 
ALTER FULLTEXT INDEX ON table
   SET STOPLIST OFF;
GO
4