1

PHP と mysql を使用してカスタム e コマース Web アプリを作成しています。製品検索に関連する問題で立ち往生しています。

ユーザーはキーワードを入力して製品を検索します。検索クエリは、製品名と説明、カテゴリ名、およびそれが属するメーカー名を調べる必要があります。

テーブル スキーマは次のとおりです。

Products: id、name、description (およびその他のフィールド) Manufacturers: id、name、description (およびその他のフィールド) Category: id、name、description (およびその他のフィールド) Product_Manu: id、prod_id、manu_id Product_Cat: id、prod_id、cat_id

SQLクエリについて教えてください。前もって感謝します。

4

2 に答える 2

2

ほとんどの人は、このアプローチを使用してこれを達成する傾向があります。

各製品のデータを追加/変更するときは、検索するすべての関連フィールドを1つのフィールドに連結し(「検索」)、Full Text SearchこのフィールドでMySQLを許可します。

検索を実行するときは、次のように実行します。

SELECT * FROM Products WHERE search LIKE '%$query%'
于 2013-03-12T08:51:10.773 に答える
0

@ haim770 によって提案された単純なアプローチとは別に、検索フレームワークを検討することをお勧めしますか? 検索要件の変化に合わせて非常にうまくスケーリングするだけでなく、今日のアプリケーション設計に精通した人々は、Web アプリケーションの検索機能をアプリケーションの作成または破壊の問題であると考えています。名前と説明全体の中の文字どおりのテキストだけを探すだけでは、今日では十分ではないかもしれません。

Apache SolrElasticsearch などの検索フレームワークは、既存のアーキテクチャに非常に簡単に組み込むことができ、複数の方法 (HTTP POST、データベースのインデックス作成) でフィードすることができ、検索を投稿する前であっても、AJAX を介して検索候補などの追加機能を取得するために使用できます。 .

于 2013-03-12T09:14:19.833 に答える