1

Microsoft SQL Server 2005 で全文検索インデックスを照会するプログラムを作成しています。インデックスが作成されるデータは、テキストの大きな塊 (複数行) です。

結果とともに表示する検索語を含むテキスト行のみを抽出する必要があります。

したがって、Sql Server のワード ブレーカーとステマーを使用して、BLOB のテキストの各行が検索文字列と一致するかどうかを判断する必要があります。これは、Windows 検索の標準のワード ブレーカーとステマーが異なるアルゴリズムを使用していることを理解しているためです。

2 つの dll (infosoft と langwrbk) を SQL Server のインストールからプログラムを実行しているマシンにコピーし、それらで regsvr32 を実行すると、レジストリにインストールされ、使用できるようになると思いました。彼ら。

そのような運はありません - regsvr32 を実行しても、レジストリには何も追加されないようです!

Windows に付属のワード ブレーカーとステマーで機能するコードがあり、動作しますが、違いが心配です (ここの他の投稿で不満を述べているのを見ました)。

4

1 に答える 1

2

この教区のjohn-jefferyから親切に提供された、登録せずに COMでコードを使用しました。

使用していた DLL が 64 ビットであり、それを使用していたコードが 32 ビットであることに気付くまで、私はもともと問題を抱えていました。呼び出しコードを 64 ビットにすると、すべてが機能しました。(32 ビットのままにしたい場合は、32 ビット バージョンの Sql Server から DLL を取得できたと思います)。

同じことをしたい人が他にいる場合に備えて、ワード ブレーカーとステマーの両方を使用するテスト用の LinqPad スクリプトをブログに投稿しました。

于 2012-09-06T12:43:17.047 に答える