質問

は、データベースを照会することによって、SQL Server 2005のからの言葉を/全文検索ノイズの一覧を取得停止することはできますか?

私は、ノイズワードは、テキストファイル〜/ FTDATA / noiseEng.txtであることを認識していますが、このファイルには、我々のアプリケーションにアクセスすることはできません。

私はsys.fulltext_ *テーブルを見てきましたが、これらは言葉を持っていないようです。

役に立ちましたか?

解決

SQL 2005で可能ではなく、SQL Server 2008であることが表示されます。

<のhref = "http://arcanecode.com/2008/06/03/advanced-queries-for-using-sql-server-2008-full-text-search-stopwords-stoplists/" のrel =」 SQL Server 2008のフルテキスト検索ストップワード/ストップリストの

を使用するためのnoreferrer nofollowを ">高度なクエリー
  

この次のクエリは、すべてのリストを取得します   SQLに同梱されてストップワード   Server 2008のこれがいいです   改善は、あなたがにこれを行うことはできません   SQL Server 2005のます。

ストップワードとストップリスト - 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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top