Lucene 2.9.2を使用しており(3.x へのアップグレードが計画されています)、時間の経過とともに検索クエリが遅くなることは既知の事実です。通常、完全な再インデックスを実行します。https://stackoverflow.com/a/668453/356815の質問とその回答を読み、今すぐ回答します。実行時にパフォーマンスが許容されなくなったため、optimize() は使用しません。
断片化?
次のことを疑問に思います:既存のインデックスの断片化を測定するためのベスト プラクティスは何ですか? ルークはそれで私を助けることができますか?
この分析トピックについてのご意見をお聞かせいただければ幸いです。
私たちのインデックスに関するもう少しの情報:
- 400,000 のドキュメントをインデックス化しました
- ドキュメントごとにプロパティを多用します
- リクエストごとに新しいサーチャー オブジェクトを作成します (変更を検索結果にすぐに表示するため)。
- クエリのパフォーマンスは 30 ミリ秒 (同じ検索の繰り返し) から 10 秒 (複雑) の間です。
- インデックスは 44 個のファイル (15 個の .del ファイル、24 個の cfs ファイル) で構成され、サイズは 1GB です。