InfoQ

News

Apache Solr:Luceneをベースに構築された拡張性のあるクラスタ化検索サーバ

作者 Ryan Slobojan, 翻訳者 沼田 暁子 投稿日 2008年11月19日 午前6時33分

コミュニティ
Java
トピック
検索
タグ
Apache Solr,
Lucene

Apache Lucene(リンク)をベースにしたオープンソースのエンタプライズ向け検索サーバであるApache Solrプロジェクト(リンク)は、先頃バージョン1.3をリリースした。InfoQではSolrの作者であるYonik Seeley氏(リンク)と話をし、このリリースの詳細とSolrがエンドユーザに提供する機能について聞いた。

Seeley氏はまず、「検索ボックスやファセット・ブラウジング(誘導ナビゲーション)、あるいはその2つを組み合わせたものを必要とするほとんどの人」が対象であると説明し、Solrの重要な機能を挙げた。

  • 標準に基づいたオープンなインタフェース - Solr検索サーバへの問い合わせや結果の取得では、XML、JSON、HTTPがサポートされている。
  • 簡単な管理 - SolrサーバはHTMLのインタフェースで管理することができ、サーバの情報はJMXで公開され、Solrの設定はXMLで行われる。
  • ファセット検索 - 問い合わせ結果は自動的にカテゴリーに分類される。
  • 検索ヒットのハイライト機能の統合 - 検索結果の中で一致した単語は、自動的にハイライトされる。
  • 拡張性 - 他のサーバへの高速でインクリメンタルな更新とスナップショットの分散/複製。
  • 拡張可能なプラグインのアーキテクチャ - (カスタム・リクエスト・プロセッサや問い合わせ結果のフォーマットのような)新しい機能をプラグインとして簡単にSolrサーバに追加することが出来る。

Seeley氏は、このリリースの主な新機能についても示した。

  • 分散検索 - インデックスは透過的に複数のシャード(shard)に分けられ、ひとつのSolrサーバは、それぞれの設定とスキーマをもつ複数のインデックスをサポートすることが出来る。そしてSolrサーバを停止することなく主要な設定の変更を行うことが出来る。
  • 拡張された問い合わせ機能 - 新しいJavaクライアント(SolrJ)や、特定の問い合わせでどのドキュメントが最初に出現するかを直接設定する機能、類似文書検索、検索タイムアウト、日付ファセッティング、スペルチェックなど、いくつかの新機能が盛り込まれている。
  • 拡張されたデータインポートツール- データベースやその他の構造化データソースをインポートすることが可能で、インポートした値をマッピングしたり変換することができる。
  • さらなるカスタム拡張点 - 新しい更新プロセッサ・チェーンがあり、インデックス作成中にドキュメントを変更したりリダイレクトすることが可能である。検索コンポーネント・チェーンは問い合わせ結果やカスタムクエリパーサ、プラグ可能な機能を変更したり追加する。
  • 性能の向上 - インデックスの作成速度は大幅に改善し、バイナリの応答フォーマットや、もっと高速なdelete-byクエリが組み込まれた。

包括的な変更ログも入手可能である(リンク)

Seeley氏はSolrのスケーリングや能力、関連機能の詳細について語り、次のように述べた。

Solrは既に、何億もの文書コレクションがあるところにデプロイされています。そして、分散検索の追加により、Solrは十億の文書コレクションを扱えるはずです。

Solrには素晴らしい全文関連性があり、Luceneをベースに構築されていて、キーワードの近接度によるブースティングや最近のドキュメントに対するブースティング、編集上のブースティング、そして数値フィールドの値に対する任意の関数にもとづくカスタムスコアリングさえも簡単に提供します。

AOL ではSolrを利用してチャンネルを動かしています:音楽、NFLスポーツ、AOLレシピ、リファレンスセンター、リアル・エステート、自動車などが例としてあるしょう。SolrはNetflixやZappos、Gamespot、Internet Archiveの検索機能も動かしています。他にも*たくさんの*大きなユーザを知っていますが、Solrを使用していることは公式に述べられていません。

Solr の今後の予定について尋ねたところ、Seeley氏は、より優れたスケーラビリティ、大きなクラスタのもっと簡単な設定や管理、ロケーションベースでリアルタイムの検索、プラグインの設定にSpringを使用するためのリファクタリングが予定されていたことを示した。Seeley氏はメーリングリストへの投稿(リンク)についても指摘し、その中で彼はSolrの今後の予定について詳細に、特に2.0の時間枠について論じている。

原文はこちらです:http://www.infoq.com/news/2008/11/apache-solr

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

Typemock: その過去・現在・未来

Eli Lopian氏率いるTypemock社の過去・現在・未来について、インタビュー形式にて記します。

企業とSaaSの仮想化がもたらすのは、迅速性(アップ)だけではない

この論文では、仮想化やクラウドサービスの複雑なメリットと実世界における応用を検討します。さらに重要なこととして、Contegixが複雑な問題の解決に仮想化を実装している方法や、仮想化を使うべきではないケースについて詳細を提供します。

RubyのFiberを非同期I/Oに使うNeverBlockとRevactor

Fiberはユーザに試練を課すことなくこの考えを実装する有益な並行性ツールとして、ライブラリが2つあります。まさにこのためのソリューションとしてあるのがNeverBlockライブラリです。私たちはNeverBlockプロジェクトのMohammad A. Ali氏とRevactorライブラリのTony Arcier氏に話を聞きました。

拡張性に関する悪習慣

システムの保守容易性や拡張性を確保するためのベスト・プラクティスに関する記事は数多くありますが、この記事では避けた方がいい、いくつかの悪習慣(ワースト・プラクティス)を強調します。

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。