0

MySqlを使用してデータベースの値を特定のクエリと比較する方法を探しています(データベースでクエリを検索するのではなく)


詳しく説明します: コンマで区切られたキーワードと、キーワードの各ブロックの結果を保持するテーブルがあります。たとえば、次のようになります。

列 1 列 2

メルセデス、BMW、スバル車

マールボロ、ウィンストンのシガレット


今日、データベースで「Marlboroligt」という値を検索しても結果が得られないことがわかるように、ユーザー クエリ (たとえば、Marlboroligt) を使用しています。

さらに言えば、クエリ内のデータベースから「マルボロ」を検索し、「シガレット」を返したい

私の説明が十分であり、これが実際に可能であることを願っています:-)。

4

2 に答える 2

0

次の可能な解決策があります。

  • Sphinxのようなキーワード検索エンジンをセットアップし、それを使用してデータベース内のキーワードを検索します
  • dbを正規化します-col1には唯一のキーワードが含まれている必要があります
  • 同様のパターンを使用する

    mytableからcol2を選択します。ここで、col1は「%Marlboro%」のようになります。

たとえば、アプリケーションの速度が低下し、サブストリング関連の問題が発生する可能性があります。

于 2012-08-29T14:00:30.923 に答える
0

正規化が最も役立ちます。それ以外の場合、カンマ区切りフィールドでの検索については、次で説明します。

コンマで区切られた文字列がフィールドに含まれるすべてを選択

...そして、'Marlboro Light' の代わりに 'Marlboroligt' を検索するには、LEVENSHTEIN関数、またはおそらく Soundex エンコーディングを調べることができます (これは、多額の費用に対してあまりにも小さいように見えますが、おそらく... )。

于 2012-08-29T13:57:21.250 に答える