Posted by momokuri on 2011 12月 24 in Freesoftware and Open Source Software, Linux, Programming, Java, Desktop Applications
2010年の上半期に、国際化の開発に協力したOSSプロダクトのひとつに、nixnote(旧Nevernote)がある。
Evernoteクライアントのフリークローンで、Java+QtJambiで書かれていて、プラットホームニュートラルに動く。そのころ、KoedoLUGで、紹介したことがあった。しばらく、開発協力した本人も使うことが無くなっていたのだが、KoedoLUG主宰のはとちゃんが地道に使い続けてくれていることが判明、ちゃんとみないと遺憾な、とgit repositoryをおいかけ直すことに。
ところで、この手のドキュメント管理ソフトウエアでは、全文検索のできがとても重要である。nixnoteは、データ保管には、H2 Database を使っている。H2は、Javaで実装されたオープンソースのDBMSである。
さて、nixnoteでは、設定可能な正規表現 [,\\s]+ で単語を切り分けて、インデックスを作成している。ご多分にもれず、これでは日本語の検索ができない。日本語などCJK言語の単語切り分けは、正規表現では表現できず、形態素解析を必要とするからだ。
さて、H2データベースには、内蔵の全文検索が2タイプあり、ネイティブとLucineによるものがある。Apache Lucineは有名な全文検索エンジンで、これを使うように改良できれば、nixnoteの機能も向上させられそうだ。そこで、H2データベースのLucineによるCJK全文検索をしらべると、H2追っかける日記にて全文検索を使う話が掲載されていた。
ということで、nixnoteのこの部分を改良する人、募集中なのである。(自分でやれ?)はとちゃんが、がんばれ!?