1. ホーム
  2. sql-server

LINQでFull Text Search(FTS)を使用することは可能でしょうか?

2023-09-05 03:02:41

質問

.NET Framework 3.5 を使用して LINQ で FTS を使用することが可能かどうか疑問に思っています。私はまだ有用な何かを見つけなかったことをドキュメントの周りに検索しています。

どなたか、この件に関する経験をお持ちですか?

どのように解決するのですか?

ただし、LINQのデフォルトでは、SQLサーバーの関数が使用されるため、先にSQLサーバーの関数を作成し、それを呼び出す必要があります。

これは ブログ記事 で詳しく説明しますが、これはその抜粋です。

<ブロッククオート

これを動作させるためには、以下のようなテーブル評価関数を作成する必要があります。 渡すキーワードに基づいてCONTAINSTABLEクエリを実行するだけです。 を作成する必要があります。

create function udf_sessionSearch
      (@keywords nvarchar(4000))
returns table
as
  return (select [SessionId],[rank]
            from containstable(Session,(description,title),@keywords))

この関数をLINQ 2のSQLモデルに追加すると、次のようなクエリが書けるようになります。 のようなクエリを書くことができるようになります。

    var sessList = from s   in DB.Sessions
                   join fts in DB.udf_sessionSearch(SearchText) 
                   on s.sessionId equals fts.SessionId
                 select s;