2011-12-28 9 views
2

データベースに文字列(キーワード)を検索するためのクエリを記述する必要があります。入力したテキストを検索するクエリ(キーワード)

ユーザーが「服装」のようなテキストを入力すると、クエリはデータベース全体の「服装」キーワードを検索する必要があります。ProductName, ProductCode, SubCategoryName, etcと近い/類似のテキストも検索してください。そのため、Google検索エンジンに似た、すべての「服」関連商品が表示されるはずです。

また、 'Clotts'、 'C​​looths'や 'Clothos'などのスペルミスを含むと、 'Clothes'関連の項目が表示されます。

説明が必要な場合は、コメントを残してください。私はVS2010のC#を使用してい

ユーザーが服 'のようないくつかのテキストを入力すると、MySQLは5.5データベース

+4

まず、単純な完全一致で始めることをお勧めします。私たちはあなたのためにすべてのコードを書くつもりはありません。それは多くのコードです。 –

+0

はどのキーワードでもお勧めします。たとえば、「Like」はパターンに一致します。しかし、私は同様の/テキストの近くに必要な..? –

+0

MyIsamテーブルでは、フルテキスト検索が必要になります。それ以外の場合は、solrやluceneなどの特殊な検索ツールを使用することもできます。 – Pelshoff

答えて

3

は、クエリは、データベース全体で服'キーワードのため

を検索します
SELECT f1,f2,f3 FROM table1 
WHERE match (f1,f2,f3) AGAINST ('$search_term' IN NATURAL LANGUAGE MODE) 

フルテキスト検索では、MyISAMテーブルが必要です。
また、スペルミスを修正しません。

また、 'Clotts'、 'C​​looths'や 'Clothos'などのスペルミスも含まれている場合は、 'Clothes'関連項目が表示されます。 参照:http://samjlevy.com/2011/03/mysql-levenshtein-and-damerau-levenshtein-udfs/
あなたはLevenshtein distance

一部の人々はあなたがあなたに、この機能を与えるのMySQL(WindowsのDLLなど)にインストールできるというUDFを書かれている含まれてアルゴリズムを探している

リンクには、UDFのインストールに関するハウツーも含まれています。

+0

リカリー男のためにありがとう.. –

関連する問題