Apache Luceneを利用してみた

Apache LuceneはJavaで開発されたオープンソースの全文検索ソフトウェアです。事前に蓄積したインデックスから指定したキーワードを高速に検索でき、1000万ドキュメントまでは1台のマシンで対応できる。ここでは、Apache Luceneについて解説していきます。

bash


# バイナリをダウンロード
$ curl -O http://ftp.jaist.ac.jp/pub/apache/lucene/java/6.5.1/lucene-6.5.1.tgz

# 解凍/展開
$ tar xfvz lucene-6.5.1.tgz
$ cd lucene-6.5.1

# インデックスを作成
# -classpath: SDKツールやJavaアプリケーションが.jar/.zip/.classファイルを見つけるために利用する。アプリケーションごとに設定できる。
# CLASSPATH環境変数でも設定できるが、すべてのアプリケーションに影響を及ぼす。-classpathが優先される。
$ java -classpath core/lucene-core-6.5.1.jar:queryparser/lucene-queryparser-6.5.1.jar:analysis/common/lucene-analyzers-common-6.5.1.jar:demo/lucene-demo-6.5.1.jar org.apache.lucene.demo.IndexFiles -docs <検索対象のパス>

# 検索を実行
$ java -classpath core/lucene-core-6.5.1.jar:queryparser/lucene-queryparser-6.5.1.jar:analysis/common/lucene-analyzers-common-6.5.1.jar:demo/lucene-demo-6.5.1.jar org.apache.lucene.demo.SearchFiles
Enter query: 
interactive
Searching for: interactive
2 total matching documents
1. /Users/hiroki/Dropbox/LP3E-examples/README.txt
2. /Users/hiroki/Dropbox/LP3E-examples/chapter11.txt
Press (q)uit or enter number to jump to a page.