Plone CMS:通常のCMS GETリクエストと比較して検索リクエストはどれくらい重いですか?
大規模なサイト(50万のドキュメント)で検索機能を有効にすると、DOSが要求されるのではないかと心配しています。もしそうなら、この脅威をどのように軽減することができますか?検索は別のZOEインスタンスで機能しますか?
Ploneのportal_catalogはかなり効率的/高速/最適化されています。これは、完了までに数分かかる検索を作成できるSQLクエリとは異なります。
重い部分は通常、検索結果を表示するときにオブジェクトを「ウェイクアップ」することです。カタログが返すメタデータ(いわゆる「頭脳」)を可能な限り操作する必要があります。とにかく、これはPloneがデフォルトでやろうとしていることです。
ただし、これがボトルネックであると思われる場合は、検索要求を処理するために別のZEOインスタンスを使用できます。/searchおよび/search_form(または一般的には/ search *)の要求が、この特定のZEOインスタンスで終了することを確認してください。これを行う方法は、現在の負荷分散設定(Apache、Squid、nginxなど)にかなり固有です。
専用の検索システムを調査したいドキュメントがたくさんあるので、Ploneのテキストインデックスはそれほど素晴らしいものではありません。http://lucene.apache.org/solr/またはhttp://pypi.python.org/pypi/collective.gsaとのPlone統合については、 http://plone.org/products/collective.solrを参照してください。 GoogleSearchApplianceをお持ちの場合。
Ploneの検索エンジンは、完全に統合されており、デフォルトのインストールで出荷されるという点で優れています。サイトが50万ドキュメントの領域に拡大した場合、通常、より確実な検索が必要になります。
私たちはSOLRを使用して大成功を収めましたが、大規模なプロジェクトであり、Ploneとの統合はすでにいくつか存在します。
http://plone.org/products/collective.solr http://plone.org/products/alm.solrindex http://plone.org/products/collective.recipe.solrinstance