@johtaniの日記 3rd

@johtani's blog 3rd edition

lucene-gosen 4.6.1のリリースに関する注意点

Lucene/Solr 4.6.1がリリースされそう(バイナリ配布待ち)lucene-gosenの4.6.1対応版をリリースしました。 ライブラリのインタフェースなどは特に変更はないのですが、ライブラリのダウンロード先が変更になっているため、注意喚起です。

lucene-gosen4.3.0をリリースしました。(Lucene/Solr4.3.0以上での利用が可能です)(Jugemより移植)

Lucene/Solr 4.3.0がリリースされた(LuceneのChanges、SolrのChanges)ので、lucene-gosen 4.3.0をリリースしました。(ダウンロードはこちら) なお、lucene-gosen 4.3.0ですが、Lucene/Solr 4.2.1以下のバージョンのLucene/Solrでは利用できません。 注意してください。 また、lucene-gosen 4.2.1もLucene/Solr 4.3.0では動作しませんので注意が必要です。

Lucene/Solr 4.0.0リリース&lucene-gosenの4.0対応(Jugemより移植)

##Lucene/Solr 4.0.0リリース ついに、Lucene/Solr4.0.0がリリースされました。 MLで流れていましたが、3年越しのリリースだったようです。 コミッターの方々、JIRAにバグ報告をした方々、お疲れ様でした。

lucene-gosenのLucene/Solr4.0-ALPHA対応(Jugemより移植)

Lucene/Solrの4.0.0-ALPHAが7/3にリリースされました。 これに伴い、lucene-goenの4xブランチのjarファイルも4.0-ALPHAのものに置き換え、現在のtrunkの修正もマージしました。 こちらにあります。チェックアウトしてビルドしてから利用してください。

lucene-gosenのUniDic対応(Jugemより移植)

Issue 32で上がってきたlucee-gosenのUniDic対応の最初のパッチを書いたので、ブログに残しておきます。 ###UniDicとは___ UniDicとは、日本語テキストを単語に分割し,形態論情報を付与するための電子化辞書です。 UniDicの詳細や特長についてはHPを御覧ください。 残念ながら、UniDicは利用者登録をして、利用規約に従うと利用が可能となります。 ですので、lucene-gosenでは、Ipadicやnaist-chasenの辞書とは異なり自動で辞書をダウンロードする機能はありません。

lucene-gosen 2.0.2リリース(リソース周りの改善など)(Jugemより移植)

lucene-gosenの最新版(2.0.1)をリリースしました。 プロジェクトページよりダウンロードが可能です。 今回の修正では、@haruyama さんからいただいていたパッチの取り込み(リソース周りの改善など)が主な対応となっています。 また、コンパイルに利用するjarファイルがLucene/Solr3.6.0に変更になっています。(Issueはこちら) 3.6.0から追加されたテストケースにて、発生する問題への対処も施したものとなっています。

Issue32について(4096の壁)(Jugemより移植)

昨晩に引き続き、情けない内容のブログになってしまいますが。。。 昨晩、書いた記事の調査をしていた時に気づいた、問題になるケースがあったので調査をしていました。 Issue32に登録した内容になります。 拙い英語を振り絞って書いた英語なので、伝わらないかもしれないのでブログに残しておきます。 昨晩の問題点となったクラス(StreamTagger2.java)の内部処理についてです。 lucene-gosenのLucene向けのTokenizerの内部処理では入力文字列の処理を行うのに、「char buffer[]」を用いて 入力文字列をReaderから読み込むときにバッファリングしています。 このバッファリングにて、特定のケースにて、想定していない場所を単語の切れ目と認識してしまう問題が実装上存在しました。 Issue32に記載した内容は次のようになります。

trunkのライブラリ差し替え(Lucene/Solr3.6.0)とランダムテストの失敗について(Jugemより移植)

久々にlucene-gosenを触っています。 trunkのlibにある、jarファイルが3.5ベースだったので、3.6ベースにしてテストをしたところ、 いくつかある、ランダムテストで結果の不整合が検出されたので、調査していました。 先程、trunkに対応版をコミットしました。もう少しテストケースを追加してからリリースします。 おそらく、通常の使い方では問題無いと思います。

lucene-gosen 2.0.1リリース(Java7対応)(Jugemより移植)

lucene-gosenの最新版(2.0.1)をリリースしました。 プロジェクトページよりダウンロードが可能です。 今回の修正では、Java7でUnicodeのバージョン変更に伴う対応(詳細はこちらを参照)を行なっています。 リソース周りの対応はまた後日。。。すみません。2012/05/16 遅くなりましたが、昨晩、JavaDocをアップしました。

lucene-gosenのJava7でのテスト失敗問題の対応(Jugemより移植)

先日、2.0.0リリースの記事にも記載しましたが、Java7でテストケースが失敗する問題がありました。 @haruyamaさんと@hideaki_tさんの協力により問題を解消し、trunkと4xブランチにコミットしました。 issueにも記載しましたが、Java6からJava7にバージョンアップするタイミングで変更されたUnicodeのバージョンが原因でした。 Java6ではUnicodeのバージョンが4.0です。Java7ではUnicodeのバージョンが6.0に変更されています。 今回の問題は「・」(0x30FB)の文字列のCharacter.getType()がCONNECTOR_PUNCTUATIONからOTHER_PUNCTUATIONに変更されたのが原因です。(この変更自体はUnicode 4.1で変更されたみたい) カタカナ文字種の判別をlucene-gosenのnet.java.sen.tokenizers.ja.JapaneseTokenizerのgetCharClass(char c)メソッドで行なっています。 修正前は、ここで、charの範囲が0x30A0~0x30FFにある文字でかつ、Character.getType()がCONNECTOR_PUNCTUATIONでないものがカタカナとして判別されていました。 issueの添付ファイルにJava6とJava7で上記範囲の文字のCharacter.getType()のリストを生成して、該当する文字を探した所、「・」(0x30FB)のみであることがわかりました。 ということで、このコードの意図としては、「・」はカタカナではないと判別したかったのだと。 上記の確認を行えたので、ソースコードを修正してコミットしました。 2.0.1としてリリースするかは、Issue29のボリュームを見て考えますので、もう少しお待ちください。