0

私はウェブサイトを作っています。データベースには、次のような記事のテーブルがあります。

id | name    | cats                           | etc.
------------------------------------------------------
1  | "alice" | "this, that, those, them"      | 
2  | "bob"   | "this, that, those"            |
3  | "carol" | "this, banana, cupcake"        |
4  | "dave"  | "other, unrelated, words"      |
5  | "errol" | "those, them, fishstick"       |

記事を表示するときに、共通のカテゴリの量に基づいて、最も関連性の高い記事のいくつかも表示したいと思います。

たとえば、アリスの記事を表示している場合、ボブ(3匹の猫が共通)、エロール(2)、キャロル(1)を(優先順に)選びたいと思います。

データが正規化されていれば(たとえばこれを行うことができます)、これは簡単になることを私は知っていますが、残念ながら、それは実際にはオプションではありません。

4

1 に答える 1

0

結局、いくつかの追加のテーブルを作成し、何かが保存されるたびに適切に正規化されたデータをそれらに入力しました。これらは既存のテーブルと一緒に実行されるため、最もクリーンなソリューションではありませんが、機能し、クエリ速度は優れています。

于 2013-04-04T11:51:03.113 に答える