Monthly Archives: October 2010

Lucene Revolution におけるセッションビデオ公開

先日の Lucene Revolution における、いくつかのセッションの模様がビデオで公開されました。日本語字幕などは付いていませんが、とくにかくどんな話しがあったのか見てみたい、現場の雰囲気を味わいたいという方は、是非ご覧下さい。

http://www.lucidimagination.com/events/revolution2010/videos

人気のあった Twitter, Salesforce.com, LinkedIn のセッションの模様は公開されていますので、それらのサービスでどのように Lucene/Solr が利用されているのか興味がある方も、是非ご覧下さい。

Twitter における検索システムのアーキテクチャ

先日の Lucene Revolution のセッション資料にもありますが、Twitter 自身による解説記事をご紹介し忘れていました。

以下の、Twitter engineering ブログにおいて、Lucene を改良して構築した新検索システムのアーキテクチャについての概要が書かれています。主な改良点は、Real-time 検索のための性能向上についてのもので、これらの改良は、全てフィードバックされる計画で、既に branch が出来、一部の改良が反映されているようですので、彼らの変更点の一部を垣間見ることが出来ます。

http://engineering.twitter.com/2010/10/twitters-new-search-architecture.html

Lucene Revolution におけるプレゼン資料公開

先日ボストンで行われた Lucene Revolution の全セッション資料が公開されています。以下のURLで参照できます。

http://www.lucidimagination.com/events/revolution2010

Solr 勉強会では、いくつかのセッションについて補足説明を行うことを検討していますので、興味のある方は、楽しみにしていてください。

Lucene Revolution -Lucene & Solr User Conference- 2日目

今日は、User Conference 2日目です。ちなみに、今日も朝8時開始で、朝からパワー全開なセッションが目白押しでした。その中から、一部をかいつまんでご紹介します。

LUCENE/SOLR ROADMAP PANEL: WHAT’S COMING
Yonik Seeley, Lucid Imagination
Grant Ingersoll, Lucid Imagination
Chris Hostetter, Lucid Imagination
Michael McCandless, IBM
Michael Busch, Twitter

まさに Solr/Lucene 開発の、主要メンバーによるパネル。実際には、ここに名前があがっているよりも4、5人多くのメンバーが壇上に上がったのだけど、メモし忘れてしまいました。
各メンバーの自己紹介とともに、現在問題に思っている点、解決しようと取り組んでいる点の説明があり、その後は、参加者とのセッション。
Field レベルでの更新だとか、Distributed Search に関して話題に上る。Sharding では、Search side での問題解決にしかならず、ドキュメントをどこに保存するのかなどの Indexing side の問題を解決するために SolrCloud で取り組んでいる点。Twitter におけるリアルタイムサーチに関する話しに興味があったのだけど、こちらは、別にセッションがあるため、そちらを聞いてくれとのこと。個人的に一番気になったのは、Flexible indexing に関しての話し。ただ、こちらも次のセッションで話しがあるとの事で、このセッションでは、さらっと話しが出た程度。
Solr/Lucene は、既に実用段階に入り、大規模な運用実績を積みつつあるので、よりスケーラビリティを上げやすくするための仕組み、運用面での簡便化のための仕組み作りなど、より洗練された方向へ進みつつある印象。ただ、そうは言っても、Flexible Indexing のような新しい試みも行われていたりと、Solr/Lucene をコアとした商用プロダクトが発表されても、なお、進化のスピードが落ちていない事を感じた。

Fun with Flex: An Introduction to Flexible Indexing, Coming in Lucene 4.0
Michael McCandless, IBM

日本語にすれば、「柔軟な索引付け」あるいは、「柔軟なインデキシング」とでもいうべきか、Linux でもそうだけど、IBM の力は、ここでも垣間みれる感じで、やっぱ凄い会社だと思う。
セッションの内容は、Lucene 4.0 から導入予定の Flexible Indexingについての説明。
今までは、索引の形式は固定されていて、変更が難しかった。Flexible Indexing では、索引をディスクへ書き込む部分を抽象化することによって、索引の形式を自由に変更可能にする API。
4.0 からは、Term (検索項。トークンのこと)は、文字情報である必要は無く、任意のバイナリーを扱えるようになる。文字は、デフォルト設定では、UTF-8 で保存される。今までは、UTF-16 がデフォルトだったので、16ビットを超える文字(基本多言語ブロック外の文字)は、サロゲート・ペアとして表現され、扱いが面倒だったが、UTF-8 を採用することにより、特別な処理が不要となる。
また、(英語の文字列の場合)キャッシュの使用量が減る。(しかし、漢字ばかりの項だと、メモリー使用量は逆に増えるはず。この副作用を減らすため、BOCU-1 というユニコード符号化法を使った CODEC も提供される予定。)
実際に Index を書く部分を、CODEC と言い、自分で書くことも可能だが、いくつもの種類の CODEC が始めから提供されている。これらは、既存索引との互換性、メモリー使用量、CPU 使用量、使い勝手などが異なり、用途によって使い分ける必要があるとの事。なかなか楽しみな機能拡張だと思う。

Realtime Search With Lucene
Michael Busch, Twitter

時代の先端を行く企業の講演だけあって、関心が高く、満席。立ち見が出た。
Twitter で、毎日10億件ものクエリーをどう処理しているかの話。
Tweet(つぶやき)が、最大140文字であることを利用して、文書 ID と文書内の位置を4バイトで表現したり、つぶやきの検索は「新しい→古い」の順番であることを利用して、検索を途中で打ち切ったりと、様々な工夫を説明した。
Java の並列プログラムを書くときは、共有する変数を volatile と宣言する重要性を説明。ただし、複数の変数がある時は、最初に参照する変数だけをvolatile とすれば、”happens-before” という(Javaの)規則で、他の変数も正しく読めることを説明。
なんとなく、全体的にハッカーっぽい印象の濃いめのセッションだった。

LinkedIn’s Distributed Realtime Faceting Search System Based on Lucene
John Wang, LinkedIn

どちらかと言うと、ビジネス向け SNS として有名(日本での知名度はイマイチかも)な LinkedIn によるセッション。かなり古くからの Lucene ユーザらしく、現在は、最新バージョンへの移行を検討しているとの事で、既存のアーキテクチャと移行後のアーキテクチャを検索サイド、インデキシングサイドから、それぞれ説明があった。とにかく大量のデータを持っていて、クエリ数、更新数も多い(具体的な数値は、メモを撮り損なったので割愛)割には、意外なほどにシンプルなシステム。ただし、独自に機能拡張しているポイントもあり、とくにインデックスの Merge をカスタマイズしているとのこと。
なお、他にも LinkedIn 内でのオープンソースプロジェクト があり、それらと連携して拡張している部分もあるらしい。ちなみに、Kamikaze という名前のドキュメントセット(実際には、ソート済み Int 型配列値)を圧縮して保存するためのユーティリティや
Sensei という名前の分散データベースなど、なかなか面白そうなプロジェクト(プロジェクト名のつけ方も)がある。

Twitter, LinkedIn, Salesforce.com という著名な企業から Lucene の事例紹介があったことで、大規模、分散環境での素晴らしい成功例を見る事が出来たのだが、Solr でのこういった大規模な事例も気になるところ。次回は、その辺が見れると良いなと思いつつ、そういった事例を自分達自身で作り出して、「日本やるじゃねぇか」と言われるようなサービスを作るお手伝いが出来れば、と密かな野望を抱く事のできる会議だった。

Lucene Revolution -Lucene & Solr User Conference- 1日目

引き続き、ボストンで開催されている Lucene Revolution についてのご報告です。最初の2日間は、まさに開発者向けのSolr/Luceneトレーニングでしたが、今日と明日は、User Conference となります。

ちなみに、僕がボストンに到着してから、ずっと雨で、雨男パワー全開な感じでしたが、今日は気持ち良く晴れ渡り(と言っても、写真の感じだと晴れと言うよりも曇りですね)、朝8時から、参加者の熱気ムンムンななか、スタートしました。

Boston

ちなみに、朝7時30分の Registration 開始時にPre-Registration しなかった方々が80名も詰めかけたらしいのですが、すでに完売で、帰ってもらうしかなかったという話しを後から聞きました。まさに盛り上がりっぷりを感じます。

Ballroom

15以上もセッションがあったため、そのなかでも、大勢の立ち見で熱気に包まれた “Real-Time Searching of Big Data with Solr and Hadoop”というセッションについて、簡単にご紹介します。

Open Logic という企業によるセッションだったのですが、この企業自身は、企業内でのオープンソース利用(によるアプリケーション開発とか、アプリケーションの利用)に対してサポートを提供するという会社のようです。米国でも、オープンソースのアプリケーションを利用したり、オープンソースのプラットフォームを利用する際に、サポート面を心配する企業があるという事なのでしょうが、ちょっと意外な気もしました。

いずれにしても、この企業でディプロイしている Hadoop Map/Reduce 環境、HBase 環境と Solr の Sharding 運用環境のシステム構成、運用面でのノウハウ、Tips に関して、また、コスト面についても、Amazon EC2 や、S3 と比較してどうなのか、という話しでした。

「Sharding  に関してもどんな風に Consistency を維持するのか?」とか、「Hadoop で、SPOF となる NameNode server をどうするか?」と言った、FAQ 的な質問から、もう少し高度なものまでありました。ただ、話題が Hadoop と Solr だけでなく、HBase や、HAproxy などなど、オープンソースソフトウェアを利用した、大規模データ処理環境の話しだったことから、1つ1つの話題は、浅めで、微妙に肩すかし感は否めませんでした。

なお、プレゼンで紹介されていたシステムでは、Amazon を利用した場合に比べて遥かに安上がりとのコスト計算結果が出ていました。ただし、この金額には、ホスティングや運用コストは含まれていないため、それらを入れれば、結果的には、少し安い程度になるだろうとのこと。しかし、こういったコンピューティングパワーを自分達で持ち、運用する事ができることの魅力を考えた方が良い、と熱く語っていました。たしかに、5年前には考えられなかったようなパワフルなソフトウェア環境が、オープンソースで存在し、低コストで利用できることは、まさに想像以上の出来事で、この機会を、もっと積極的に活用するべきだと実感しました。

Lucene Revolution -Lucene Training- 参加報告

10月5日〜8日(米東部時間)までの間、ボストンで開催されている Solr/Lucene に関するイベント”Lucene Revolution”において、Grant Ingersoll (Chair of the Apache Lucene PMC, co-founder of the Apache Mahout project, and co-founder of Lucid Imagination) による Lucene でのアプリケーション開発に関するトレーニングが5日と6日の2日に渡り開催されました。参加してきましたので、簡単に様子をお伝えします。

Solr に関しては、いくつかデモアプリケーションを開発したり、その過程でカスタムTokenizer の作成を行ったり、また、5月に San Mateo で行われたトレーニングを受講した事もあり、なんとなく全体を分かってきたと思えてきているのですが、Lucene に関しては、ほとんど触ったことも無いのに、Lucene in Action, 2nd Edition (Manning Pulications Co. から出版されている書籍)の何章かを読み、なんとなく分かっているつもりになっていました。が、初日から、ハンズオンで落ちこぼれそうになったり、バリバリ Lucene を使ったアプリケーション開発を行っている周りのエンジニアの質問や熱気に圧倒されそうになったりと、何とも刺激的でした。

通常は、最大でも15人程度でトレーニングを行っている、との事ですが、イベントという事もあってか、Lucene/Solr トレーニングともに30人以上は入っていそうな超満員な上に、Solr トレーニングは、複数箇所で同時に行われていたようです。米国では、相当 Solr/Lucene に関する関心が高まっている、というか、かなり導入が進んでいる様子で、アプリケーション開発エンジニアの熱気、本気度がムンムンでした。

1日目(10月5日)

初日は、「Introduction to Lucene Development」ということで、入門編。Lucene の基本思想みたいなことから、IndexWriter, IndexReader, IndexSearcher を使ったインデックスの作成/検索、Analysis(Analyzer, Tokenizer, TokenFilter などに関して)についてのディスカッションと、カスタム Analyzer の作成、highlighter や More Like This などなど、ハンズオンが豊富で、入門とは言え、タフな内容でした。

2日目(10月6日)

2日目は、「Advanced Lucene Development」ということで、Indexing/Searching に関する理論的な話しや、実際の Lucene での実装についてなどなど。実際には、ドキュメントの削除やインデックスの最適化、インデックス作成のパフォーマンスチューニングについて、さらには、スコアや 妥当性の話し。つまり、Relevancy Tuning についてや、Lucene レベルでの Replication/Sharding の話しがありました。また、特に盛り上がったトピックとして、Near Real-Time Search/Real-Time Search という、今最も熱い話題の1つもあり、ある企業の開発者の方で、自身が開発した Lucene ベースアプリケーションで、数千ドキュメント/秒というオーダでの処理を行っているという話しがあったり、zoie の話題が出たりと、なかなか濃い内容でした。

なお、2日間とも、Lucene での実装がどうなっているのかソースコードを見ながらの説明があり、後から自分でソースコードを参照する時に参考になる話しもあり、本当にためになるトレーニングでした。

でも、何よりも、Grant Ingersoll と会って、ちょっとだけでも話しが出来、その彼にトレーニングを受ける事ができたのが、個人的には最大の収穫でした。

なお、Lucene in Action, 2nd Edition は、「バイブル」とのこと。もし Lucene でのアプリケーション開発を検討されている、あるいは、Solr の後ろにある技術に感心がある方は、必読の書だという事です。私も、電子書籍版を購入し、iPad に入れてみました。

特報:待望の LWE、ついに発表!

Lucene Revolution 二日目の10月6日(東海岸時間)、ルーシッド・イマジネーション社初の本格的ソフトウェア製品、LucidWorks Enterprise (略称 LWE)が翌日の一般公開に先立って、パートナー限定で公開された。

LWE は、関係者の間では、Solr++ というニックネームで知られていたことからもわかるように、Solr を基盤にして、それを大幅拡張改善した、検索アプリケーション。Solr の最新版(安定リリース版よりも新しい)に、インストーラー、クローラー、GUI 管理画面、等をつけたものと考えることができる。宣伝文句は:

  • Search Within Reach(カンタン。誰でも使える検索ソフト。)
  • Better. Faster Solr.(改良高速 Solr)
  • Lowest Cost of Growth(高スケール性、データ課金なし)

となっている。

製品をダウンロード後は、unzip ではなく、専用インストーラーでインストールされる。続いて、専用設定画面で、検索対象文書集合の指定を行う。例えば、データベースの指定、ファイルシステム上の親ディレクトリーの指定、あるいは、インターネットまたはイントラネットの親 URL を指定する。クロールのスケジュール管理もこの時点で行える。

Solr のフィールド指定は、schema.xml を直接編集する代わりに、わかりやすい GUI による設定画面で行う。これにより、入力間違いを防止し、最小の専門知識で定義ができる。

その他の機能としては、

  • アラート:検索式を記録し、一定時間毎に実行して新規に一致した文書をメールで知らせる
  • 機密管理:ユーザーの役割毎に、閲覧可能な文書と可能でない文書が決まる。ユーザー情報は、LDAP で管理。
  • 改良版検索式パーサー:よりわかりやすい構文。
  • 関連度計算の改善:CLICK というアルゴリズムにより、関連度の計算が改善される。
  • 追加機能のほとんどは、ReST API により外部から使用可能。

等があげられる。

検索画面については、従来と同様、それなりに作り込む必要はあるが、全体の設定と索引作成の部分が強化されたため、全体としての検索アプリ作成に要する時間は大幅に削減されることが期待される。

本製品は、ルーシッド社初の有償ソフトウェアとなる。ライセンス形態は、年次サポート契約(サブスクリプション)による。料金は、稼働サーバー台数とサポート条件に応じて決定される。

* * * * *
ルーシッド社の公式情報は、以下のページ(英語)をご覧下さい:

http://www.lucidimagination.com/enterprise-search-solutions/open-source-software

LWE の日本での販売は、日本語対応の準備が整ってからとなります。今しばらくお待ちください。

Lucene Revolution 開催記念 ボストン ミニ観光ガイド

米東部時間の10月5日〜8日までの4日間 Lucene Revolution が開催されます。そこで、開催地ボストンについて、簡単にご紹介したいと思います。

※解説はwiki、地球の歩き方、観光案内所等のガイドを参考にしています。利用している画像は2006年から2010年にかけて撮影したものです。

マサチューセッツ州ボストン市 Massachusetts Boston

ニューイングランド地方中部にあり、マサチューセッツ州の州都。アメリカ独立運動発祥の地。歴史の浅いアメリカでは古い街のひとつ。著名な大学、美術館、博物館、劇場などがあり、文化的な街。

街並みは、石畳にレンガ造りの建物が多く落ち着いた雰囲気。秋は街路樹が紅葉し美しい。

チャールズ川を渡るとハーバード大学があるケンブリッジ市。

日本からの直行便はなく、ニューヨーク、シカゴなどで乗り継ぎ。

ボストン美術館

正式名称は、Museum of Fine Arts。ついBoston Museumと言ってしまうが、アメリカ人には通じません。

日本の仏像が展示されているギャラリーがお勧め。薄暗い室内は、どこかの寺院にでもいるような幻想的な雰囲気。

浮世絵のコレクションは世界一。印象派の作品も充実。モネの『睡蓮』、ゴーギャンの『我々はどこから来たのか、我々は何者か、我々はどこへ行くのか』、ゴッホの『ポストマン』など、絵画に詳しくなくても、どこかで見たことがある作品が数多い。

イザベラ・スチュワート・ガードナー美術館  Isabella Stewart Gardner Museum

ボストンの大富豪ガードナー夫人の邸宅が美術館として公開されている。階段の踊り場や廊下といった邸宅のあらゆる場所に絵画をはじめとした美術品が飾られている。

トリニティ教会 Trinity Church

毎週金曜日はパイプオルガンの無料コンサートが開かれる。入場料代わりに、5ドルほどの寄付を。

コープリースクエア Coply Square

5~11月の毎週火、金にファーマーズマーケットが開かれる。野菜や果物だけでなく、サンドイッチなども売られている。

チャールズ川遊歩道 Charles River Esplanade

遊歩道が整備されているので、散歩やジョギング、サイクリングを楽しめる。対岸のケンブリッジの眺めも良い。

プルデンシャルセンター・スカイウォーク Prudential Center Skywalk

52階建ての複合ビル。50階に展望台があり、ボストンのダウンタウン、ケンブリッジまで見渡せる。プルデンシャルセンターには、ショッピングモールやフードコート、デパートも入っている。

ダックツアー Boston Duck Tours

水陸両用バスでプルデンシャルセンターを出発し、有名どころの観光地をまわり、最後はチャールズ川をクルーズ。チャールズ川に入ったところで、運転席に子どもを順番に座らせて運転させてくれる。子どもが少なければ、大人の希望者にも。

フェンウエイパーク Fenway Park

レッドソックスの本拠地で、メジャーリーグで最古で最小の球場。見学ツアーに参加すれば、グリーンモンスター席に座ったり、放送席や記者会見室にも入ることができる。

ヨーキーウェイ・ストア Yawkey Way Store

レッドソックスのオフィシャルストア。Tシャツなどは、キッズサイズなら日本人女性にも良さそう。球場見学ツアーはここから出発。

地下鉄 T

「T」と呼ばれるボストンの地下鉄。入り口には標識がある。アメリカ最古の地下鉄網。

クリスチャン・サイエンス・センター Christian Science Center

キリスト教系の新宗教、クリスチャン・サイエンスの総本山。建物が美しい。

バークリー音楽大学 Berklee College of Music

海外からの留学生も多い大学。周辺では、アジア系の学生の姿も多く見られる。

ウォーターフロント Water Front

ワーフがいくつかあり、様々なクルーズツアーが発着している。ゴーストツアーやトロリーバスツアーの発着場所もある。

ニューベリー通り Newburry Street

通りの両側には、レンガ造りの建物が並び、ショップやオープンテラスのカフェやレストランが入っている。

シンフォニーホール Symphony Hall

1973年から2002年まで小沢征爾が音楽監督を務めた、ボストン交響楽団とボストン・ポップス・オーケストラの本拠地。

パブリックガーデン Public Garden

春から夏にかけて、スワンボートが運行。手入れされた花や木々が美しく、ボストン市民憩いの場。

クインシーマーケット Qunicy Market

両側の建物、ノースマーケット、サウスマーケットと合わせて、ファニュエルホール・マーケットプレイスと呼ばれる。レストラン、ファッション、インテリア、土産物など。マーケット前の広場では大道芸が見られる。

ジョン・F・ケネディ・ライブラリー The John F. Kennedy Presidential Library and Museum

J.F.Kの記念館。大統領選挙の様子や大統領執務室などが再現されている。近代的な建物も美しく、海に面していて眺めもよい。

ハロウィン Holloween

9月になると、街のあちこちで飾りつけが見られる。

ダンキンドーナツ Dunkin’ Donuts

ボストン近郊のクインシーで創業。いかにもアメリカンコーヒーという感じの、砂糖とミルクたっぶりのコーヒーが癖になる。ドーナツだけでなく、ベーグルやサンドイッチも。

チャイナタウン Chinatown

ボストンコモンから歩くと、少しずつ漢字の看板が増えてくる。夜はちょっと怪し気な雰囲気も漂う。アヒルやチキンの丸焼き、アジア、日本の食材も手に入る。レストランではテイクアウトもできる。

リンゴ狩り Apple Picking

秋のお楽しみ。日本のリンゴに比べて実が小さい品種が多い。フジなどのリンゴもある。

次回 Solr トレーニング日付決定

第1回 Solr トレーニングは、無事終了致しました。参加者の皆様、お疲れ様でした。Yonik サイン入り修了証は、大事にかざってくださいね。

さて、早速です、次回トレーニング日付が決定しました。11月16日(火)〜18日(木)です。前回参加者の方々からは、「このトレーニングは、Solr 全般の機能をきちんと学習できて、効率的。」、「今まで Solr を使ってきたが、こんな便利な機能があるなんて知らなかった。」との声を賜っております。Solr をこれから始める方は勿論、すでにお使いの方々もふるってご参加ください。