6"でできますね、とあった。上記Q&AはQueryParserを使う前提である。);テストプログラムを以下に示す。}}実行結果は次の通りとなる。MondayLucene付属デモの使い方(初心者向き)最近Lucene/Solrの利用者人口の増加を実感している。初心者向きにモノを書いたり話したりすることが多くなり(もちろん利用経験者とのやりとりも増加中である)、そのため初めての人向きのネタが必要になることが増えてきている。2.3.2の付属デモの使い方をまとめておこうと思う。この記事では付属デモの「使い方」だけで、その中で使われるクラスなどの解説は後々別のところで書くこととする。オペレーションの説明を具体的にするためにWindowsのC:ドライブの下にworkというディレクトリを作成し、その下で作業することを想定している。他のOSを使用する場合などは適宜読み替えて欲しい。SDKは1.4以上があらかじめインストールされている必要があり、binディレクトリがPATH環境変数に含まれていなければならない。以下のページに提示されているURLのいずれかをクリックしてダウンロードページに移動し、lucene-2.3.2.zipをダウンロードする:http://www.apache.org/dyn/closer.cgi/lucene/java/ダウンロードしたらZIPファイルをC:¥workに展開する。付属デモのIndexFilesプログラムを使って、ディレクトリ(ツリー)に保存されているテキストファイルをインデックスに登録する。ここでは登録するテキストファイルとして「このデモのJavaソースファイル」を利用することとする。lucene-2.3.2C:¥work¥lucene-2.3.2>Lucene本体はlucene-core-2.3.2.jarに、コンパイル済みのデモプログラムはlucene-demos-2.3.2.jarにパッケージされているので、デモ起動時のクラスパスにはこの2つのJARファイルを指定すればよい。IndexFilesプログラムの第一引数にはインデックスに登録するテキストファイルのトップディレクトリを指定する。ここではデモのJavaソースが保存されているディレクトリsrcを指定する。検索するにはSearchFilesというプログラムを使用する。クラスパスはIndexFilesと同じものを指定する。query:"のプロンプトにはいわゆるLucene標準の検索式を指定することができる。ThursdayLuceneアプリケーションの開発環境の紹介Luceneアプリケーションの開発環境を紹介する。Ant」のまえがきにも書いたとおりのAnt大好き人間なので、Luceneアプリの開発環境も迷うことなくAntである。ここで紹介するのは、Luceneアプリのコンパイルと実行が簡単に行えるような開発環境である。HelloLucene.javaC:¥Project¥blog¥lucene>開発環境の「ホーム」ディレクトリに、build.xmlと2つのプロパティファイルmyenv.propertiesおよびbuild.propertiesファイルがある。「ホーム」ディレクトリの下にsrcディレクトリがあり、このディレクトリ以下にLuceneアプリケーションのソースコードを配置する。file="build.properties"/>これらのプロパティファイルでは、build.xmlで使用するプロパティを設定している。プロパティファイルを2つに分けている理由は、開発環境依存のものとそうでないものにプロパティ設定を分けるためである。myenv.propertiesの方は開発環境に依存する設定がなされており、build.propertiesの方には開発環境には依存せず普遍的なプロパティ設定が集められている。1.2.1のインストールディレクトリである。イコールの左辺のプロパティ名は、build.xmlにて次にインポートされるbuild.propertiesの中で参照されている。org.apache.commons.logging.impl.NoOpLogbuild.properties中で、いくつかのプロパティ設定の右辺がmyenv.propertiesで設定しているプロパティを参照していることがわかるだろう。したがって、build.xmlの中で2つのプロパティファイルをインポートする順番に注意する必要がある。message="起動するクラス名をプロパティpに指定してください。</target></project>主要なターゲットはcompileとrunである。これらのターゲットで使用しているクラスパスは、次のようにbuild.xmlの中で設定している。</path>これにより、日本語Luceneアプリケーション(JapaneseAnalyzerを使うという意味で)のコンパイルと実行に必要なクラスパス設定を行っている。LoggingのJarファイルを指定しているが、これはLuceneアプリケーションのコンパイル時には必要ない。実行時に必要となってくるものである。LoggingはLuceneアプリケーションのコンパイル時には不要なので(アプリの中でLoggingを使っていなければ)、実行時にクラスパスに指定することをつい忘れがちである。LoggingのJarをクラスパスに含めないで実行すると、JapaneseAnalyzerのtokenStream()メソッドの中でSenのクラスのインスタンスの取得に失敗するためである。