3

私はこれに似た何かをしたいと思っています: http://www.dimarzio.com/pickup-picker

私の質問は、これを実行する方法に関する特定のコードではなく、概念に関するものです。

たとえば、バイオリンを販売していて、ユーザーに自分の演奏スタイルに関する情報を入力してもらい、そのエントリに基づいて 3 つの最高のバイオリンを提供してもらいたいとします。これは私が与えられたデータです:

したがって、ユーザーが Expert、Hard、Rock、Dark と入力すると、Cannon、Soil、Ysaye、K.Joseph、Heifetz // Cannon、Kreisler、Soil、Heifetz // Kreisler、Diable、Vieuxtemps で構成されるバイオリンのデータ セットが取得されます。 // 大砲、ディアブル、プラウデン

それらの中から、ユーザーにとって最適な 3 つの選択肢をユーザーに出力する必要があります。大砲は 4 つのうち 3 つにリストされているため、1 位にならなければなりません。これで、4 つの基準のうち 2 つに一致するバイオリンがさらに 3 つになりました。ザ・ソイル、クライスラー、ディアブル。それを 2 つの選択肢に絞り込むには、質問を重要度に応じてランク付けする必要があると思います。たとえば、トーンが最も重要で、ボウイング スタイル、音楽のジャンル、スキル レベルがそれに続きます。そのランキングに基づいて、プログラムは Diable と Kreisler を選択する必要があります。

これにアプローチする方法が完全にはわかりません。このデータは頻繁に変更されるわけではないので、データベースが関与する必要がありますか? 情報を多次元配列に格納する必要がありますか? DB からのデータであるかどうかに関係なく、データが配列に格納されたら、どのようにロジックをプログラミングして、重要性の順に配列を調べ、最も関連性の高いバイオリンを取得する必要がありますか?

どんな助けでも大歓迎です!実際に考え始めるまで、これは簡単だと思っていました。

4

2 に答える 2

2

私には、これは並べ替えの問題のように聞こえます。私はバイオリンについて何も知らないので、あなたの例から多くを吸収することはできませんが、とにかく...

データベースが複数の列にまたがってソートされる方法については、おそらくご存知でしょう。順序でfirstname, lastname, phone言うと、名が比較され、同値の場合のみ、最後の名前が比較され、同値の場合は、電話番号が比較されます。

並べ替えたら、上位N個のエントリを選択して表示します。

phpコードでもこのようなカスタムソートを行うことができます。たとえば、num occurances in a list, tone, bowing style, etc...

それがその要点です。私はそれをデータベースに保存しますが、それはそのデータと、ほとんどの場合、それを保持するのに最適な場所だからです。データベースを使用すると、インポート、エクスポート、その他のデータ管理、表示、編集、その他の機能の無料サービスが豊富に提供されます。

データベースのorderby句を模倣したサンプルコードが必要な場合は、どこかにあることがわかっているものを掘り下げることができます。

于 2012-05-15T00:56:57.290 に答える
0

私たちは、あなたが概説している問題を解決するスタートアップ企業を持っています. 基本的に、製品またはソリューションを見つけるための選択プロセスを通じてユーザーをガイドする、セマンティックに対応した製品セレクターを作成しました。

私たちは(バイオインではなく)別の市場部門向けに製品を設計しましたが、あなたが説明した問題を解決するのに役立つと思います.

データは Amazon AWS でホストされており、製品セレクターを iPhone アプリ、Android アプリ、ウェブサイトなどに組み込むことができるように API を構築しました。

必要に応じて、私たちのウェブサイト www.productworld.com で連絡先の詳細を確認できます。

于 2012-05-17T10:39:46.627 に答える