1

多くの Web サイト、特に小売サイトでは、価格で並べ替えるのと同じように、「関連性」で並べ替えることができます。これは、検索した単語の数、データベースに一致した単語の数に基づいていると思います。

たとえば、リレーショナル データベースに検索語テーブルがあり、特定の製品について、テーブル、テニス、クラブの 3 つの語句があり、Web サイトで卓球ホールを検索した場合、3 つのうち 2 つが一致したため、66% の精度が得られます。 .

この機能が必要ですが、EF を使用していて、どこから始めればよいかわかりません。したがって、文字通り、% (「精度スコア」または関連性) を求めています。

これまでのコードを喜んでお見せしますが、正直なところ、私が試したことを証明するためだけにページに 70 行のコードをスローしても、誰の利益にもならないので、コードが必要な場合は、表示されない場合は、Google へのポインタやフレーズを教えてもらえますか?

4

1 に答える 1

0

これが SQL Server プロジェクトであると仮定すると、全文検索/全文カタログを確認することから始めることができます。これらをCONTAINSTABLEまたはFREETEXTTABLE検索で使用すると、パーセンテージではなく相対的な関連性の尺度であるスコアが返されます。EF の観点から、ストアド プロシージャを呼び出してランク付けされた結果 (スコアと ID) を EF の外部で取得し、ID によってコンテキストからオブジェクトを読み込むという最も簡単な解決策を見つけました。含まれるフィールドの関連性にも基づいて結果を重み付けできるように、半複雑なストアド プロシージャを作成しました。私はここに私の質問にこれのいくつかを投稿しました: Code-First Entity Framework w/ Stored Procedure return results from complex Full-text Searches

于 2013-02-15T19:52:24.727 に答える