Apache Lucene を 60 秒で試してみる
今更ながら Java で全文検索です。とりあえず Apache Lucene の デモを試してみようと思ったのですが、最新リリースの 3.5.0 の情報が見当たらなかったので、この際、誰でも 60秒で デモを試せるように Gradle スクリプトを作ってみました。
デモのために わざわざ 自分でファイルをダウンロードして、解凍して、あれしてこれして なんて面倒ですよね。
Gradle を使えば たった 3 ステップで試せます。(もちろん、今時の人たちは 既に Gradle はインストール済みですよね...)
- build.gradle 作成
- インデックスファイル 作成
- 全文検索 実行
build.gradle 作成
まずは 適当なディレクトリに build.gradle を作成して 次のスクリプトをコピーしましょう。
今回は Lucene がメインなので Gradle スクリプトの細かい説明は省略。結構がんばったんですけど...
インデックスファイル 作成
次に 以下のコマンドを実行して全文検索のためのインデックスファイルを作成しましょう。
gradle index
このコマンドを実行すると
- デモの実行に必要なライブラリを Maven リポジトリから取得
- lucene-core-3.5.0-sources.jar を Maven リポジトリから取得して src ディレクトリに展開
- src 配下のソースファイルをもとに インデックスファイル生成
のような処理が実行されます。
全文検索 実行
あとは 以下のコマンドの
gradle ?<query>
例えば "reader" を検索したい場合
gradle ?reader
のように実行します。もし複数の単語を指定したい場合は
gradle ?'reader AND search'
のようにクォートしましょう。main 関数を含むファイルを検索したいなら
gradle ?'"public static void main("'
のような感じで OK...
Gradle 使えば こんなに簡単に全文検索できちゃうんですね。
なぜ今まで試さなかったんだろうか?
今度は 日本語の全文検索を試してみようかな?
もちろん Gradle で...