サイト検索機能を追加しているCMSがあります。アプリケーションは完全なZendFrameworkMVCスタックを使用します。
この時点で、検索モデルを作成/使用する必要があると思われる場合。これまでに作成したすべてのモデルは、データベーステーブルに基づいています。検索モデルはどのようになりますか?私は間違ったアプローチを取っていますか?
サイト検索機能を追加しているCMSがあります。アプリケーションは完全なZendFrameworkMVCスタックを使用します。
この時点で、検索モデルを作成/使用する必要があると思われる場合。これまでに作成したすべてのモデルは、データベーステーブルに基づいています。検索モデルはどのようになりますか?私は間違ったアプローチを取っていますか?
基本的に、Zend_Search_Lucneを使用して、Webサーバー上にデータベースのインデックスを作成します。したがって、負荷をデータベースサーバーからWebサーバーにシフトします(これは、多くのWebサーバーを簡単に使用できるが、多くのデータベースサーバーを使用できないため、良いことです)。
インデックスを作成するには。検索可能にしたいテーブルの各行を、luceneの単一のZend_Search_Lucene_Documentとして扱います。そして、列はZend_Search_Lucene_Fieldになりました。これらのドキュメントを、hardiskにあるインデックスに追加します。検索時に、このインデックスに対してクエリを実行します。
詳細についてはhttp://framework.zend.com/manual/en/zend.search.lucene.index-creation.html