0

私はphpとmysqlについて十分な知識を持っていますが、実践はあまりありません. 検索、ajax タイプの提案などを使用して Web サイトを構築する前に、それらはすべてある程度の能力を欠いていました。

ここで、フィールド名が異なる約 10 個のテーブルがある Web サイトの検索を作成します。私は、mysql クエリをどのように呼び出すかを考えるのに時間を費やしました。だから私はいくつかのアドバイスと助けを求めています。

与えられた文字列のようなデータを選択した場合、最初に検索する場所、2 番目に検索するテーブルなど、テーブルの順序を作成する必要があります。それが私がこの質問をする主な理由です。異なるテーブルに対して複数の mysql 検索クエリを手動で実行し、他のテーブル検索によって形成される配列の構造と等しい配列に取り込まれたデータを処理しようとするのは、悪いアプローチではないでしょうか? 記事ページの方が類似性が高いのに、ニュースを最初に検索する必要があるのはなぜですか?

後で、すべてのテーブルに適合する単一の mysql クエリを作成するというアイデアに行き着きましたが、レイアウトの配列を返し、目的の検索クエリに関するすべてを含めるようなコードを作成する方法がわかりませんでした。

役立つと思われる高度なテクニックやプラクティスを教えてください。ありがとう。

4

4 に答える 4

2

多くのテーブルを検索するのは得策ではありません。索引を付けたほうがよさそうです。インデックスは、単一の構造化されたデータベース テーブルまたは sphinx や lucene などの外部エンジンにすることができます。

于 2012-12-10T20:48:39.100 に答える
1

ヒント :主に検索に使用される複数のテーブルから目的のデータを使用してビューを作成します

于 2012-12-10T20:48:10.557 に答える
1

solr 検索 (http://lucene.apache.org/solr/)、memcache (http://memcached.org/) を試すか、mysql のインデックスを使用します。上記のリンクを読んで、最も適切なものを選択してください

于 2012-12-10T20:48:38.183 に答える
1

検索可能なテキストが非常に多くのテーブルに分散している場合は、別の検索インデックスを使用する必要があります。

そのために、 Apache Solrなどの既製のライブラリを使用できます。

于 2012-12-10T20:48:52.837 に答える