FlexLuceneのJapanese Analyzerを使う(その2)
前回、FlexLuceneの検索用語をインデックス化するプログラムを公開しました。文末に設定方法に関しても少し記載したのですが、今回は、私が陥ったミスを紹介します。![]() |
Apache Lucene 入門 ~Java・オープンソース・全文検索システムの構築 中古価格 ¥2,159から (2017/9/22 17:54時点) |
Visual Studioでの設定
Visual Studioの[ツール] > [NuGetパッケージマネージャー] > [ソリューションのNuGetパッケージの管理]を開くと、NuGetをグラフィカルに設定できる画面が表示されます。そこで、FlexLuceneと検索をかけると、FlexLucene v6.3.0がヒットします。
なので、これを選択して、更にソリューションを選択し、[インストール]を行っていました。しかし、このバージョンでは、IndexWriterのaddDocument()の際にJavaのIOExceptionを出して止まってしまいました。v6.3.では、JapaneseAnalyzerをサポートしたと記載されているのに、コンパイルは通るが実際の実行時にエラーになってしまいます。このエラーがどうしても解消できなくて、FlexLuceneを諦めようかと何度か思いました。
![]() |
.NET開発テクノロジ入門2016年版Visual Studio 2015対応版 中古価格 ¥2,400から (2017/9/22 17:59時点) |
DLLのダウンロード
Googleで何度となく解決方法を探っていたときに、「Lucene Japanese Analyzer」とJapaneseAnalyzerの間にスペースを入れて検索してみたら、実装のきっかけになったある人の投稿がひっかかりました。そして、それには、僕と同じエラーが生じていることも書いてあり、更に「解消した」との内容まで記載されていました。 ミソは、NuGetでFlexLuceneを導入するのではなく、ArticraftsフォルダーにあるDLLをダウンロードして、それを使うということでした。 https://github.com/FlexSearch/FlexLucene/tree/master/Artifacts
あとは、ダウンロードしたDLLをソリューションエクスプローラーにある[参照]を右クリックして[参照の追加]を表示させ、ダウンロードしたDLLを追加すればOKです。

