Apache Lucene 入門 ~Java・オープンソース・全文検索システムの構築

古い。余りの古さにサンプルがコンパイル通らない。何せ10年前の本だからな。あと本題ではないがJavaの書き方がやけにstaticメソッド多用してて気になる。
それにしてもLuceneって物凄く昔からあるのね。namazuと互角。当時はCのプログラムをJavaで再実装するのがブームだったのだ。
ちなみにコンパイル通らない原因だが、本書では日本語の単語分解にgosenが使われているがその後kuromojiがLuceneの標準装備となりパッケージ"jp"の名前空間はそちらに譲ってAnalyzerのパッケージ名変わった事が大きいんだが、そのほかFieldの定数等も色々変わっているらしくQueryParserもHitsクラスも消えており…って変わり過ぎだろ!主要機能ほぼ全部じゃないか!…OSS界隈は意識高い最初から作り直したい症候群を止める金銭的動機が無いのでこれがよくある。
まぁ大体使い方は分かった。Analyzerで単語分解し、それぞれにIndexWriterでデータベース的なものを作り(ここまで事前処理)、今は亡きQueryParserで検索文字列を分解して今は亡きIndexSearcherでサーチし、今は亡きHitsで受ける(検索時処理)。IndexWriterの作成先はディスクとメモリが指定できる、と。今は亡きものが多いが。