INFORMATION
テクノロジ

Lucene/Solr Revolution 2014 に参加しました

著者:打田 智子

打田@11月入社の新人です。
11/13 – 14 (トレーニングを含めると 11/11 – 14) にワシントンDCで開催された Lucee/Solr Revolution に参加しました。速報ということで参加レポートを記載します。

Omni Shoreham Hotel

カンファレンス会場の Omni Shoreham Hotel。歴代の大統領や世界のリーダーをホストしてきたという、歴史のあるホテル。重厚な佇まい。

Opening remark

カンファレンス1日目の Opening remark の様子。 今回の参加人数は、550+ とのことです。

セッションレポート

参加したセッションのうち、印象の強かった3つのセッションについて、簡単にレポートしたいと思います。
一部を除き、発表スライドはまだ公開されていませんが、全セッションのスライド・ビデオが数週間中に公開されて閲覧可能になると思います。

(Day 1) Native Code and Off-Heap Data Structures for Solr (by Yonik Seeley, Heliosearch)

Solr の生みの親である Yonik さんが始めている Heliosearch プロジェクトのセッションです。
Heliosearch は Solr の fork で, 次世代 Solr を目指して開発されているプロダクトです。 Heliosearch が取り組んでいる課題、内部実装や性能検証データ、APIイメージなどの解説がありました。今回説明があった主な Feature は以下です。

  • Off-Heap data structure (FileterCache/FieldCache/IntegerField/etc.) : Javaヒープ使用量の削減、Full GC による “stop the world” の抑制、検索スループット向上を実現する。実装はネイティブ C++ 。
  • New Facet Module : 既存の “Simple Facet” を置き換えるもの。Sub-facets や Aggregation Functions を備えていて、分析用途に最適化されている。また、階層的なクエリが書きやすい JSON API を備える。

Heliosearch のプロジェクトサイトを見ると、その他にも多くの機能が開発中です。

(Day 1) Semantic & Multilingual Strategies in Lucene/Solr (by Trey Grainger, CareerBuilder)

プレゼンターは “Solr in Action” の共著者の一人です。昨年の Lucene/Solr Rev. でも発表されていて面白かったので、個人的にもっとも興味のあったセッションでした。
前半は多言語をひとつの検索システムで扱うためのコア/スキーマ設計、CharFileter/Tokenizer/TokenFilter の選定およびカスタマイズについての話題、後半は固有表現抽出などの自然言語処理・機械学習を活用した “Semantic Search Architecture” の話題でした。
全文検索に関する具体的な設計や実装の話は、(詳しくは Solr in Action を読んでね、という宣伝もところどころにありつつ、) multilingual でなくても参考になりそうです。

スライド公開されていました: http://www.treygrainger.com/posts/presentations/semantic-multilingual-strategies-in-lucenesolr/

この方の発表は、プレゼンテーション上手なためもあるのか人気が高く、発表後は多くの参加者に囲まれてランチタイムまで質問攻めにあっていました。
私も(他の質問者の勢いになかなか入り込めず、途中めげそうになりながら)30分以上待ったうえで、なんとか2つほど質問できたので内容を書いておきます。

Q. Semantic Search Architecture について、ペーパーなどもっと詳しいリソースはありますか?
A. 私のサイト http://www.treygrainger.com/ に行くと、そこから過去の発表資料や論文へのリンクがあるよ。

Q. Semantic Search のテクニックは、言語ごとに変えていますか、それともすべての言語で共通の処理をしていますか?
A. 言語ごとに処理を変えると、よりきめ細かいことができるけれど、現時点ではすべて共通の処理をしているよ(途中、細かい内容はうまく聞き取れなかったのですが、おそらく構文解析はしていなくて、単語の共起性や近接性等を特徴量として機械学習させているようでした)。

(Day 2) Scaling SolrCloud to a Large Number of Collections (by Shalin Shekhar Mangar, Lucidworks)

Lucene/Solr コミッターで、現在 Lucidworks で主に SolrCloud の機能開発、性能向上に取り組んでいる方の発表です。Solr 4.x では SolrCloud の改善が鋭意進められていますが、引き続き現在進行中の課題、およびそれに関する Issue の紹介がありました。
実際にどのような環境でテストをしているのかについて、具体的な数値が多く盛り込まれた発表で、その場では話のスピードについていけなかったので、後日スライドを見ながら復習しようと思います。
たとえば以下のような環境で負荷テストを行っているそうです。

  • Performance goals: 6 billion documents, 4000 queries/sec, 400 updates/sec, 2 seconds NRT sustained performance
  • 5% large collections (50 shards), 15% medium (10 shards), 85% small (1 shard) with replication factor of 3
  • Target hardware: 24 CPUs, 126G RAM, 7 SSDs (460G) + 1 HDD (200G)
  • 80% traffic served by 20% of tenants

こちらでスライド公開されていました: http://www.slideshare.net/shalinmangar/scaling-solrcloud-to-a-large-number-of-collections-fifth-elephant-2014

13 日夜のカンファレンスパーティの様子

DSC_0102 DSC_0104

会場はホテルからバスで移動したところにある、ラテン系のバーでした。
前日のウェルカムレセプションの少し堅い雰囲気とは違って、コミッターとユーザー、ユーザー同士がだいぶざっくばらんな雰囲気で交流する感じ。

なお、12/8 に開催される 第15回Solr勉強会 でも、もう少し詳しくお話させていただく予定です。


KandaSearch

KandaSearch はクラウド型企業向け検索エンジンサービスです。
オープンAPIでカスタマイズが自由にできます。

  • セマンティックサーチ

    人間が理解するように検索エンジンがテキストや画像を理解して検索できます。

  • クローラー

    検索対象文書を収集するWebクローラーが使えます。

  • 簡単操作のUIと豊富なライブラリー

    検索や辞書UIに加え、定義済み専門用語辞書/類義語辞書やプラグインがあります。

  • ローコードで低コスト導入

    検索UIで使い勝手を調整した後、Webアプリケーションを自動生成できます。

セミナー

企業が検索エンジンを選定する際のポイントから、
実際の導入デモをお客様ご自身でご体験!