2011-12-08 8 views
0

私は、特定のフレーズに対して、少数のオブジェクト(約1000件、それぞれ検索する約3つのテキストフィールドを持つ)を検索する検索ツールを作ろうとしています。フレーズに一致する検索アルゴリズム/方法はありますか?

私は検索結果をランク付けするアルゴリズムを見つけようとしていました。話題の多くは、ファジーマッチングとLevenshtein距離アルゴリズムにつながりますが、このケースでは適切ではないようです(たとえば、「猫と犬」というフレーズが「車と犬」」に近い"犬と猫")。

他のテキストブロックと検索フレーズを一致させ、テキストが等しい、検索フレーズが含まれている、個々の単語が含まれているなどの結果に基づいて結果をランク付けするアルゴリズム/方法はありますか?通常は何が適切であるかを知ることすらできません。

私は通常、C#で記述します。私はデータベースを使用していません。

+0

Googleスタイルの統計的な相関が必要です。あなたは訓練するためにたくさんのデータを持っていますか? 1000オブジェクトは多くのトレーニングデータではありません。 –

答えて

0

Luceneをご覧ください。あらゆる種類のテキスト索引作成、ランク付けされた結果の返却、および他の多くの優れたものを実行できます。 C#の実装があります。それはあなたのユースケースのために少し過度のかもしれませんが、それは本当にあなたがそれを見ておくべき非常に優れた有用な技術です、あなたがあなたのキャリアの間にそれのために良い使用を見つけることはほぼ確実です。

関連する問題