関口宏司のLuceneブログ

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

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

| スポンサードリンク | - | | - | - |
Git at Apache
今発売中のWEB+DB PRESS Vol.50にも掲載されているgitについて。ApacheプロジェクトはSubversionを使っているが、そのgitミラーが存在する:

http://git.apache.org/

使い方はこちら:

http://wiki.apache.org/general/GitAtApache


| 関口宏司 | Lucene開発環境 | 22:32 | comments(2) | trackbacks(0) |
TermEnum/TermDocsのclose()は不要の件
TermEnumとTermDocsのclose()メソッドは呼ぶ必要がない、とのこと。

http://www.nabble.com/Do-TermDocs-and-TermEnum-need-to-be-closed--tt23654416.html
| 関口宏司 | Luceneクラス解説 | 01:35 | comments(0) | trackbacks(0) |
(off topic) JavaScript 忍者!
Lucene in Action 2nd editionをManningから購入したのでManningからメールが届くんだけど、先日届いたメールがJavaScriptの本を紹介するもので、その本のタイトルが「Secrets of JavaScript Ninja」。でも表紙を見ると忍者っぽくない。


Secrets of JavaScript Ninja
| 関口宏司 | その他(分類不能) | 07:53 | comments(0) | trackbacks(0) |
optimize()中は元のインデックスの2倍の空き容量が必要な件
IndexReaderがオープンしているインデックスに対してoptimize()を実行するときは、ハードディスクの空き容量が元のインデックス容量の2倍必要である。たとえば、10GBのインデックスをIndexReaderがオープンしていると、optimize()には20GBの容量が必要となる。

さらにユーザからの指摘で、IndexReaderでオープン中でないインデックスも同じピーク容量が必要となるケースが報告された。それはautoCommit=falseのIndexWriterでオープンしているインデックスである。

この指摘を受け、optimize()のJavadocが変更された。
| 関口宏司 | Luceneインデックス | 18:57 | comments(0) | trackbacks(0) |
パッケージごと単体テストをする(2.9)
Luceneの単体テストは、Luceneを展開したディレクトリで次のように実行する:


$ ant test

これだとLuceneの全単体テストが実行されてしまうので、次のようにテストケース名を指定する方法がある:

$ ant test -Dtestcase=テストケース名

しかしこの方法だと指定した単体テストが1つしか実行できないので、これはこれで不便であった。

LUCENE-1617の改善により、単体テストを実行するパッケージが指定できるようになった。たとえば、org.apache.lucene.searchパッケージをテストするには、次のように指定する:

$ ant test -Dtestpackage=search

こうすると、"search"をパッケージ名に含むパッケージ以下の全単体テストを実行するようになる。この指定方法では、org.apache.lucene.search.*の単体テストに加え、search以下のfunctionやpayloadsやspansパッケージも単体テストが実行されるようになる。search以下のこれらのパッケージを含めたくないときは、testpackageの代わりにtestpackagerootというプロパティを使い、次のように指定すればよい:

$ ant test -Dtestpackageroot=search
| 関口宏司 | Lucene開発環境 | 11:16 | comments(0) | trackbacks(0) |
FileSwitchDirectory (2.9)
Luceneインデックスを表す抽象クラスDirectoryの新しい具象クラスFileSwitchDirectoryがLucene 2.9に追加された。

FileSwitchDirectoryはコンストラクタにプライマリとセカンダリの2つのDirectoryを指定して作成する。主な用途としては・・・LUCENE-1313で提案中のリアルタイム検索に使われる予定のものである。たとえば、プライマリのFSDirectoryにはファイルサイズの大きなストアデータやTermVectorデータを保存するようにし、残りはRAMDirectoryに保存する、といった使い方になるであろう。

そのようにFileSwitchDirectoryを使うプログラムは次のようになる:

Directory subDir1 = FSDirectory.getDirectory( "index", true );
Directory subDir2 = new RAMDirectory();
Set<String> extSet = new HashSet<String>();
extSet.add( "fdt" );
extSet.add( "tvd" );
extSet.add( "tvf" );
extSet.add( "tvx" );
Directory dir = new FileSwitchDirectory( extSet, subDir1, subDir2, true );
IndexWriter writer = new IndexWriter( dir, analyzer, true, MaxFieldLength.LIMITED );
writer.setUseCompoundFile( false );  // ※
    :
dir.close();


上のように、インデックスファイルのFSDirectoryとRAMDirectoryへの保存先の区別は、プライマリに保存するファイルの拡張子をSetでFileSwitchDirectoryのコンストラクタの第一引数に指定する。また、これを有効に働かせるために、CompoundFileフォーマットにしないようにしている(※の部分)。

https://issues.apache.org/jira/browse/LUCENE-1618
| 関口宏司 | Luceneクラス解説 | 12:15 | comments(0) | trackbacks(0) |
+ Solrによるブログ内検索
+ PROFILE
     12
3456789
10111213141516
17181920212223
24252627282930
31      
<< May 2009 >>
+ 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