関口宏司のLuceneブログ

OSS検索ライブラリのLuceneおよびそのサブプロジェクト(Solr/Tika/Mahoutなど)について
スポンサーサイト

一定期間更新がないため広告を表示しています

| スポンサードリンク | - | | - | - |
Lucene 4.0 の Java 5 サポートがまもなく終了
現trunk(Lucene/Solr 4.0相当)のLucene部分のJava 5サポートがまもなくなくなる。現在投票中だが、圧倒的多数で可決される模様。

Java 5はすでにベンダーのサポートが終了しており、Luceneが踏んでしまったJava 5のバグを回避するために、テストをスキップするなどの回避策をとらねばならず、結果としてLuceneの品質にも影響を与えかねない。また、検索結果のグループ化機能はJava 6の方が速いことがわかっている。よってtrunkはJava 5の制約にしばられることなく開発したいということになった。なお、Solr 4.0は去年からJava 6のみのサポートとなっている。また、バージョン3.xはこれまでどおりJava 5の環境で動作する。

参考

https://issues.apache.org/jira/browse/LUCENE-3239

http://wiki.apache.org/lucene-java/SunJavaBugs



Solr 3.3 8月 トレーニング受講者募集中!

Solr トレーニングコースパンフレットダウンロードはこちら
| 関口宏司 | Lucene/Solrコミュニティ | 09:48 | comments(0) | trackbacks(0) |
lucene-gosen を使って節電する
昨日従来のものより25%の処理速度向上を達成したlucene-gosen 1.1.0のリリースをお知らせしたばかりだが、現trunkはさらに改良されてそれよりも9%、以前に比べると35%の高速化を達成した。達成したといっても達成したのはRobertさんで、私は隣で"Great!"とかいって盛り上げているだけである。

ところで、25%〜35%高速化したということは、それだけ早く形態素解析処理が終わる(処理時間が短くなる)のであるから、それだけコンピューターを早く解放できるので節電できているといえるのではないか。いや、そう思いたい。

もちろん24時間形態素解析器を使っているわけではないので、節電量は数パーセントにも満たないかもしれないが、多くのSenのユーザーが新しいバージョンのlucene-gosenに乗り換えれば、全体で結構節電したことになったりしないだろうか。

・・・などと、全社で節電に取り組む某インテグレーター様にてしばし空想。
| 関口宏司 | 形態素解析 | 21:02 | comments(0) | trackbacks(0) |
lucene-gosen 1.1.0 リリース
lucene-gosen 1.1.0 をリリースした。今回のリリースでは、JapaneseTokenizerが出力する各種Attributeを必要になるまでメモリにロードしないという改善を行い、さらなる高速化を実現した。手元の簡単な計測では、25%の処理速度向上が認められた。

計測に使用したプログラムを以下に示す。データには「第177回国会における菅内閣総理大臣施政方針演説」を使い、これを1万回ループする中で形態素解析を行った。2.2GHz Intel Core i7のMacBook Proで、lucene-gosen 1.0.1で107,144ms、lucene-gosen 1.1.0で80,290msとなった。

  static final String STATEMENT = // ここに所信表明演説を貼り付け

  static final int NUM_LOOP = 10000;
  
  public static void main(String[] args) throws Exception {
    long startTime = System.currentTimeMillis();
    for( int i = 0; i < NUM_LOOP; i++){
      TokenStream stream = new JapaneseTokenizer(new StringReader(STATEMENT));
      CharTermAttribute termAtt = stream.addAttribute(CharTermAttribute.class);
      while(stream.incrementToken());
      stream.close();
      if(i % 1000 == 0)
        System.out.println(Integer.toString(i + 1) + " processed...");
    }
    long endTime = System.currentTimeMillis();
    System.out.println("processing time (ms) : " + Long.toString(endTime - startTime));
  }


なおこの改善により、PartOfSpeechAttributeのコピーを保持するTypeAttributeがJapaneseTokenizerから出力されないようになった。これまでJapaneseTokenizerが出力するTypeAttributeでなにか処理をするTokenFilterを持っている人は、代わりにPertOfSpeechAttributeを参照するように変更する必要がある。
| 関口宏司 | 形態素解析 | 22:09 | comments(0) | trackbacks(0) |
Luceneの歴史を振り返り、勝手に懐かしむ
このあいだSolr勉強会でLucene/Solr 3.1の話をしてきたばかりだが、来週にはもう3.2が出ようとしている。ところで今回のリリースのタイミングで、CHANGES.txtの過去にさかのぼってリリースの日付がすべて削除されるというコミットがあった。もちろんソースコード管理(Subversion)を見れば削除前の日付を参照できるが、すべてのリリース時点の日付が必ずしも入っていないのがどうやら気に入らなかったようだが、なにもあるものについて消さなくたっていいじゃんかと思いつつ、消される前のCHANGES.txtを見ていたらなんだか懐かしい感じがして(といっても私は1.4からのユーザーだが)、過去のリリースをピックアップして振り返るのも楽しいかも。ということでブログを書く。

バージョンリリース日主な項目
0.012000/03/30First open source release.
0.042000/04/19Lucene now includes a grammar-based tokenizer, StandardTokenizer.
他に目立った機能強化がないのか、このあと20行弱StandardTokenizerの説明が続く
1.02000/10/04serious bug fix and performance optimization
1.01b2001/07/02last Sourceforge release
1.2 RC12001/10/02first Apache release
  • packages renamed from com.lucene to org.apache.lucene
  • license switched from LGPL to Apache
  • ant-only build -- no more makefiles
  • addition of lock files--now fully thread & process safe
1.2 RC22001/10/19
  • added sources to distribution
  • disabled lock files for JDK 1.1, since they rely on a feature added in JDK 1.2
1.2 RC3?Removed JavaCC from source distribution for copyright reasons.
1.2 RC4?Upgraded to JUnit 3.7.
1.2 RC5?bug fixes and test improvements
1.2 RC6?bug fix
1.3 RC1?new methods Document.setBoost(float), Field.setBoost(float) and Token.setPositionIncrement()
1.3 RC2?new method IndexReader.undeleteAll()
1.3 RC3?bug fix
1.3 final?Fix StandardTokenizer's handling of CJK characters
1.4 RC1?Added support for sorting
1.4 RC2?bug fix
1.4 RC3?Added a new SortField type for custom comparators
1.4 final?Added "an" to the list of stop words in StopAnalyzer
1.4.1?bug fix
1.4.2?bug fix etc.
1.4.3?bug fix
1.9 RC1?
  • Added support for stored compressed fields
  • Added support for binary stored fields
  • Added support for position and offset information in term vectors
1.9 final?bug fixes and optimizations
1.9.1?bug fix
2.0.02006/05/26Removed 2GB file size limitations for RAMDirectory
2.1.02007/02/14Added NativeFSLockFactory, ndexWriter.addIndexesNoOptimize(), NGramTokenizer and EdgeNGramTokenizer
2.2.02007/06/19SinkTokenizer and TeeTokenFilter
2.3.02008/01/21Added IndexWriter.setRAMBufferSizeMB(), IndexReader.reopen()
2.3.12008/02/22bug fixes
2.4.02008/10/06Added Fieldable.omitTf(). Rename Field.Index options to be more accurate
| 関口宏司 | Luceneリリース | 00:41 | comments(0) | trackbacks(0) |
+ Solrによるブログ内検索
+ PROFILE
   1234
567891011
12131415161718
19202122232425
2627282930  
<< June 2011 >>
+ LINKS
検索エンジン製品 - 比較のポイント
商用検索エンジンを購入した企業担当者は読まないでください。ショックを受けますから・・・
>>製品比較 10のポイント
+ Lucene&Solrデモ
+ ThinkIT記事
+ RECOMMEND
Apache Solr入門 ―オープンソース全文検索エンジン
Apache Solr入門 ―オープンソース全文検索エンジン (JUGEMレビュー »)
関口 宏司,三部 靖夫,武田 光平,中野 猛,大谷 純
+ RECOMMEND
Lucene in Action
Lucene in Action (JUGEMレビュー »)
Erik Hatcher,Otis Gospodnetic,Mike McCandless
FastVectorHighlighterについて解説記事を寄稿しました。
+ RECOMMEND
+ SELECTED ENTRIES
+ RECENT COMMENTS
+ RECENT TRACKBACK
+ CATEGORIES
+ ARCHIVES
+ MOBILE
qrcode
+ SPONSORED LINKS