関口宏司のLuceneブログ

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

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

| スポンサードリンク | - | | - | - |
Lucene 2.9.4/3.0.3 リリース間近
ただいまバグフィックスリリースであるLucene 2.9.4と3.0.3を準備中である。longのNumericRangeQueryがLong.MAX_VALUE近辺で正しく動作しない不具合や、FVHの不具合が多数直されている。また例外的に入れられた改善として、2.9.4のLuceneが3.0のインデックスを読めるようにするという機能も含まれる。これにより、Lucene 2.9から3.0へのマイグレーションが容易になる。

一般的には古いバージョンのLuceneは新しいバージョンのLuceneのインデックスは読めないが、Lucene 2.9と3.0は、3.0にて2.9でのdeprecated APIの廃止とJava 5対応を施したという違いだけである。したがって、インデックスフォーマットに違いはないはずであるが、2.9でdeprecatedになったフィールド圧縮の機能が3.0ではなくなった(圧縮したい場合はクライアント側でLuceneにて用意されている圧縮ツールを使って行う)ため、若干の違いがある。このちょっとした違いを吸収して読めるようにしようということだ。
| 関口宏司 | Luceneリリース | 10:04 | comments(0) | trackbacks(0) |
(メモ)ManifoldCF in Action
Lucene Connector FrameworkあらためApache ManiforldCFプロジェクトの書籍「ManifoldCF in Action」が執筆中らしい。そのサンプルコードがGoogle Codeで公開されている:

http://manifoldcfinaction.googlecode.com/svn/trunk/
| 関口宏司 | Luceneツール | 09:37 | comments(0) | trackbacks(0) |
Solr本の訂正(?) DataImportHandler
本日Solr本「6.4 XMLからのインポート」を試したら、何もデータがインポートされなかった。原因は、SlashdotのRSSフィードがSolr 1.3当時(このときに初めてDIHが導入され、同時にSlashdotのサンプルが付属した)のRSS 0.9からRSS 1.0に変更になったことにあるようだ。すでに次期バージョンのSolr 3.1では修正された。Solr 1.4.xで手っ取り早く直すには、example/example-DIH/solr/rss/conf/rss-data-config.xmlファイルの中のRSS URLをhttp://rss.slashdot.org/Slashdot/slashdot/toに変更すればよい。

https://issues.apache.org/jira/browse/SOLR-2190
| 関口宏司 | 書籍「Apache Solr入門」 | 01:02 | comments(0) | trackbacks(0) |
QueryParser.jjのJavaコード部分のスリム化(4.0)
JavaCCを使ってQueryParser.javaが生成されるもととなるQueryParser.jjというファイルがある。このファイルは一部Javaプログラムを含んでいるが、通常のIDEではシンタックスハイライトが行われないので、メンテナンスが非常にやりにくい。このJavaプログラムの大部分を新設したQueryParserBase.javaに移行し、QueryParser.jj内のQueryParserクラス定義をQueryParserBaseクラスを拡張するようにLucene 4.0で変更された。これによりQueryParser.jjのJavaコード部分が短くなり、QueryParserBase.javaはもちろんJavaプログラムなのでIDEでも見やすくなり、メンテナンス性が一気に高まった。

https://issues.apache.org/jira/browse/LUCENE-2718
| 関口宏司 | Luceneクラス解説 | 20:30 | comments(0) | trackbacks(0) |
(メモ)Lucene Revolution 公開資料
Lucid Imaginationのダウンロードサイト

先日のTwitter検索がLuceneを使ったという発表の内容も、結構詳しく書かれている。

おまけ: BBQ @ Lucene Revolution Oct 2010
私もBBQに誘っていただいたが、残念ながら東京を離れるわけにいかず不参加となった。
| 関口宏司 | Luceneセミナー | 23:54 | comments(0) | trackbacks(0) |
ヒットしたそれぞれのドキュメントで検索語がいくつヒットしたかを知る方法(Lucene 3.1)
LuceneやSolrのクライアントが、検索結果を取得して表示する際に、それぞれのドキュメントで「どの検索語がヒットしたのか」「どのフィールドでヒットしたのか」(これらの必要性については、クエリが複数語/複数フィールドにまたがる場合を想像すればよい)や「何カ所ヒットしたのか」を知りたいことがある。これらはしばしばメーリングリストで質問されるのでユーザ要件としても一般的なものと考えられる。

これまでは「ハイライターを使う」というのがこれらの要件に対する唯一の回答であった。これは結局のところ、storedデータ((FastVectorHighlighterではない、昔ながらの)Highlighterではstored以外のデータも使うことができる。念のため)を使って再検索をすることとなり、また、結果は「検索語が強調表示された状態のスニペット」文字列が返されるとあって、もともとハイライトが目的ではないプログラムにとっては使いやすいインタフェースとはいえないものだった。

しかし最近、Scorerクラスにfreq()メソッドが追加されたことで、これらの要求に対してスマートに解決できる可能性が出てきた:

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

Luceneへのこの改善は、もともとLuceneが当然備えている「どの検索語がヒットしたのか」「どのフィールドでヒットしたのか」「何カ所ヒットしたのか」という情報について、プログラマにアクセスできるように開放したものに過ぎない。

現在はまだいくつかの残課題があり、「どの検索語がヒットしたのか」「どのフィールドでヒットしたのか」に関しては正確に取得することができないが、「何カ所ヒットしたのか」については正確に知ることが可能である。

これから外出なのでプログラム例は割愛するが、使いたい場合はTestSubScorerFreqs.javaを参考にするといいだろう。注意点としては、collect()内で不要なfreq情報を収集しないことである。簡単に書いてしまうと、ハイライターを使うよりも遅くなってしまう可能性があるためだ。
| 関口宏司 | Luceneクラス解説 | 11:10 | comments(0) | trackbacks(0) |
+ Solrによるブログ内検索
+ PROFILE
     12
3456789
10111213141516
17181920212223
24252627282930
31      
<< October 2010 >>
+ 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