2006-03-20
_ [Software] lucene-1.9.1でdeprecatedになったインタフェース
基本的には1.4.3とコンパチだが、deprecatedになったインタフェースが結構たくさんある。使う上でぶつかったものについてのみ、リストアップしてみる。
- IndexWriterのパラメータをメソッドで設定するようになった。
-
writer.maxFieldLength = 1000000; writer.minMergeDocs = 10000; writer.mergeFactor = 50;
と書いていたのを、1.9.1以降では以下のようにする。writer.setMaxFieldLength(1000000); writer.setMaxBufferedDocs(10000); writer.setMergeFactor(50);
- DateFieldはもう使わない
- DateToolsインタフェースが新たに追加され、時間と対応する文字列相互の変換は、こちらで行うことになった。DateFieldでは、必ずmsecまでエンコードしてしまっていたため、対応文字列が長めになっていたが、DateToolsではresolutionを指定できる。荒くすれば対応文字列を短くすることができ、インデックスのサイズを節約できる
- Fieldのコンストラクタ統合
- これまでは、元の文字列をストアするかしないか、トークナイズするかしないか、といったオプションの組み合わせごとにファクトリーメソッドがあったのだが、それらがコンストラクタとそのオプションに統一された。こちらを使うとだいぶソースが読みやすくなる。
- Query.parse()はインスタンスメソッドに変更
- Query.parse()はstaticメソッドだったが、インスタンスメソッドに変更になった。
READMEと日記の書き方