アルゴリズムの検索ページ
-
23-09-2019 - |
質問
私の作成を検索ページできる、商品を入力します。
ex:の夜。
私のクエリの記録を含む転からの言葉です。
ニーズ:1.最初の列は、レコード指定された。2.前から二列目次に最もマッチングです。3.三列目次にマッチングなどなど---
どのように達成します。あのアルゴリズムです。ますのであれば誰でも共有します。
編集:
サンプルを検索:
1. Brings on the night
2. Whoever Brings the Night
3. Night Baseball Brings
4. Night ride
5. Night Round
6. Brings flower
Geetha
解決
は、フルテキスト検索を試してみましたか? http://msdn.microsoft.com/en-us/library/ms142583。 ASPXする
他のヒント
は、検索エンジンを構築することは曖昧さ、人間の言語、タイプミス、および大いに多くを扱う、非常に複雑な作業です。あなたは、データベースエンジンに付属しているものを使用するようにしてください。 SQL ServerとSQLiteは箱のそれらを持っているし、他のほとんどのデータベースでは、おそらく同様の機能を持っています。これらのエンジンは特に良いものではありませんが、彼らは、単純なシナリオのために十分です。より深刻な仕事のために、異なるプログラミング言語のための様々なフレーバーがあるのLuceneを、試してみてください。
は、SQLのLIKE演算子を使用することができ、本当に簡単な解決策として。代わりの
を選択object_nameのtable_nameのどこからパラメータ=何か
あなたはどうなる
table_nameのどこからパラメータ何か LIKEを選択object_nameの
非常に単純なシナリオのこのかもしれない作業
一部のポインタ
しかできないおRDBMS全文検索や調査などのソリューションを導入可能/Solr
が実装 距離(Levenshtein) に SQL, 、な些細な手作りランキング
- n-gram(bigrams,trigrams) ではなく、例えば、すべてのオプション postgres 社内検索に比べてmysqlまたは指定し
内部RDBMSの検索(postgresが例外)通常あまりにも少しオプションの実施に自分が通常の硬すぎやRDBMSいない(効率).
にJavaのお持ちのLuceneする
PHP(ZendのLuceneの)におけるそれのためのポートもあります。
また、C# Luceneの.NET の
にポートを持っていますちょうどあなたのDBモデルを変更することにより、あなたは、検索エンジンに統合することができます。
を見てください。私は過去にはLuceneを使用しましたし、それは常に非常に効果的かつ効率的となっています。