php zend Lucene pagination

http://framework.zend.com/manual/1.11/en/learning.lucene.pagination.html
なんとなくコメントが面白いので。

検索結果のidだけキャッシュしておいて
次ページのときは、idからデータを取得しろというだけですが
この結果のインスタンスのサイズが半端ないので、全部キャッシュするのは無理です。

とりあえず、速度だけ計ってみました。

getDocument 100回
0.10254192352295 sec
0.093567132949829
0.091049194335938

search + 100データ取得 + 1000idをcache
0.86610412597656 sec
0.6905689239502
0.69413304328918

ということで、検索は、キーワードやデータ量でかなり変わりますが、getdocument100回のほうが速いことは分かりました。
ページングとキャッシュを実装しました。
基本的には、ページング以外にキャッシュが利用されることは稀なので、memcachedのメモリは少なめに設定です。

   Yahoo!ブックマークに登録

This entry was posted on 火曜日, 1月 24th, 2012 at 2:51 PM and is filed under Lucene, memcached, php, zend. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

Comments are closed.