zend_search_lucene を使用してインデックスを再作成する正しい方法を誰かが提案できるかどうか疑問に思っています。ドキュメントを更新するオプションはありません。削除して再度追加する必要があります。一連のデータベース テーブルがあり、それらを循環させて、それぞれのインデックスにドキュメントを追加します。途中でドキュメントを削除する意味がわかりません。インデックス全体を空にしてから、すべてを新たに追加することもできます。
単純な deleteAllDocs() メソッドがないように見えるので、最初にそれらをすべて見つけてから、それらをループして 1 つずつ削除し、次にデータベース テーブルをループしてすべて追加する必要があります。getAllDocuments メソッドもありません (ただし、ここに解決策がありますhttp://forums.zend.com/viewtopic.php?f=69&t=9121 )
明らかに、ドキュメントが変更されたかどうかをチェックし、変更された場合にのみ削除するような凝ったものを書くこともできますが、これにはすべてのフィールドを比較する必要がありますね。
何かが足りない気がします。