質問

私の作成を検索ページできる、商品を入力します。

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を使用しましたし、それは常に非常に効果的かつ効率的となっています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top