データベースにクエリを実行して、SQL Server 2005から全文検索ノイズ/ストップワードのリストを取得することはできますか?クエリSQl Server 2005全文検索ノイズ/ストップワード
ノイズの単語が〜/ FTData/noiseEng.txtというテキストファイルに含まれていますが、このファイルにはアプリケーションからアクセスできないことにご注意ください。
私はsys.fulltext_ *テーブルを見てきましたが、これは言葉を持っていないようです。
データベースにクエリを実行して、SQL Server 2005から全文検索ノイズ/ストップワードのリストを取得することはできますか?クエリSQl Server 2005全文検索ノイズ/ストップワード
ノイズの単語が〜/ FTData/noiseEng.txtというテキストファイルに含まれていますが、このファイルにはアプリケーションからアクセスできないことにご注意ください。
私はsys.fulltext_ *テーブルを見てきましたが、これは言葉を持っていないようです。
これがSQL 2005年には不可能であることが表示されますが、SQL Server 2008の
Advanced Queries for Using SQL Server 2008 Full Text Search StopWords/StopLists
にこの次のクエリはSQL サーバーに同梱 ストップワードのすべてのリストを取得しています2008これはいい 改善がある、あなたは SQL Serverでこれを行うことはできません2005年
Stopwords and Stoplists - SQL Server 2008
SQL Server 2005のノイズワードは、 がストップワードに置き換えられました。データベース が 以前のリリースからのSQL Server 2008にアップグレードすると、ノイズワードファイル はもはやSQL Server 2008の で使用されていないが、ノイズワードファイルは は、FTDATA \ FTNoiseThesaurusBakフォルダに格納されています は後で更新するときに使用できます。 対応するSQL Serverを構築する 2008ストップリスト。 ノイズワードファイルを ストップリストにアップグレードする方法については、フルテキスト検索 を参照してください。
ノイズワードファイルを\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTData
からアプリにコピーしてノイズワードを除去します。
Public Function StripNoiseWords(ByVal s As String) As String
Dim NoiseWords As String = ReadFile("/Standard/Core/Config/noiseENU.txt").Trim
Dim NoiseWordsRegex As String = Regex.Replace(NoiseWords, "\s+", "|") ' about|after|all|also etc.
NoiseWordsRegex = String.Format("\s?\b(?:{0})\b\s?", NoiseWordsRegex)
Dim Result As String = Regex.Replace(s, NoiseWordsRegex, " ", RegexOptions.IgnoreCase) ' replace each noise word with a space
Result = Regex.Replace(Result, "\s+", " ") ' eliminate any multiple spaces
Return Result
End Function
これはうまくいくかもしれませんが、私たちのアプリは通常はロックされているクライアントサーバー上で動作し、ファイルへのアクセスが制限されています。残念ながら、雑音の単語をコピーして貼り付けることは受け入れられないでしょう –