Apache Solrの概要
Apache Solr(ソーラー)とは、Apacheコミュニティによって開発が勧められているオープンソースの全文検索エンジンです。Apache Solrは、SolrのベースとなっているJava全文検索ライブラリであるApache Luceneプロジェクトのサブプロジェクトとして開発されています。
Apache Solrは、インデックス作成と検索のコアにApache Luceneを利用し、JettyやTomcatなどのサーブレットコンテナ内で、スタンドアロンの全文検索サーバとして実行することができます。また、Solrサーバを複数束ねたClusterで構成されるSolrCloudという形態を取ることも出来ます。
検索対象データの収集には、Apache ManifoldCFなどのクローラと連携することによって、Web上のページ(HTML)やDatabaseに保存されているデータ、CSV、XML、Textなどのファイルと言った、さまざまなソースからデータを読み込み、SolrでIndexを作成することが可能です。
Apache Solrは、強力な全文検索、ハイライト(検索結果の強調表示)、ファセット検索(※)、ほぼリアルタイムでのインデクシング、動的クラスタリング、リッチテキスト(Word、PDFなど)検索、地理空間的検索、耐障害性機能を備えるなどの特徴があります。
また、HTTP/XMLおよびJSON APIを利用することで、Java以外のさまざまなプラットフォームからSolrの持つ検索機能へのアクセスを可能にしているため、優れた柔軟性と拡張性を備えています。
Apache Solrは、インターネット上のサイト検索システムをはじめ、企業内に蓄えられたファイルや多様なデータを一元的に検索出来るファイル全文検索や知識共有システム、図書館の検索システム、SaaS、SNS、広告配信システムなど、全世界で数多くの導入実績があります。
さらに、Alfresco(ECM)、Liferay(EIP)、Drupal(CMS)といった、多くのオープンソースソフトウェアにおいて全文検索エンジンとしてSolrが組み込まれています。
Apache Solrの現在の最新バージョン(GA)は、7.7.3、8.1.2、8.2.0 、8.3.1、8.4.1、8.5.2、8.6.3です。(2020年10月現在)
※ファセット検索:あらかじめサイト側が用意した商品分類や金額帯などの検索候補条件を選択し、コンテンツの絞り込みをする検索ナビゲーションの仕組み。
Apache Solrのライセンス
Apache Solrのライセンスは、Apacheソフトウェア財団 (ASF) によって規定されたApache License Version 2.0となっており、ユーザは、Apache Solrの使用にあたって、著作権の表示などの条件に従うことで、
使用や頒布、修正、派生版の頒布をすることに制限を受けません。
Apache Solrのライセンスについてご不明な点がありましたら、お気軽にお問い合わせください。
Apache Solrの動作環境
前提となる動作環境は、以下のとおりです。(バージョン8.6の場合)
- OS
・Linux/MacOS/Windows
- Java Runtime Environment(JRE)1.8以上
※Oracle JDKもしくは、OpenJDK が最もよく検証されている JREであり、このどちらかが推奨されます。
※Java VMのいつくかのバージョンでは、動作に影響があるバグがあります。こちらの Lucene JavaBugs のページを確認ください。
※バージョンによって異なりますので、詳細はお問い合わせください。
Apache Solrと同様の機能を提供する製品
- 商用ソフトウェア製品
Sedue、FAST ESP、CBES(ConceptBase Enterprise Search) - OSS製品
Apache Lucene、Elasticsearch、Katta、Senna、Namazu
Apache Solrの主な特徴
主な特徴は以下のとおりです。
高機能な全文検索エンジン | クエリ検索、インデックス、ファセット、ハイライト(検索結果の強調表示)、スコアリング、範囲検索、緯度経度検索、類似文書検索、グルーピング、リッチテキスト検索、カスタムランキングなど、さまざまな方法での全文検索が可能 |
---|---|
Javaベース | Javaベースのアーキテクチャのため、同じくJavaベースで構築されていることが多い企業情報システムとの親和性が高く、比較的容易に他システムとの連携が行える(Apache Solr自身は検索リクエストをHTTPリクエストで受け取り、検索結果をXMLで返す検索サーバとして機能するため、フロントサーバはJavaだけでなく、PHP、Ruby、Python、Perl、Javascriptなどでもプログラミング可能) |
高速 | 分散インデックス検索、クエリーキャッシュ機能など、大量のWebトラフィック用に最適化されている |
高い拡張性 | Solrサーバのクラスタをより容易に構築し管理するためのツールが提供され、スケールアウトしやすい |
マルチOS/マルチクライアント | さまざまなサーバOSおよびクライアント環境に対応 |
オープンスタンダードなインタフェース | XML、JSONおよびHTTPを利用してさまざまなプラットフォームから検索機能へのアクセスを実現し、柔軟性と拡張性に優れたXMLでの設定が可能、バージョン8からはHTTP/2もサポートされた |
包括的なHTML管理インタフェース | 各種設定の実施、インデックス統計、キャッシュ使用率、クエリ、テキスト分析デバッガ、クラスタノードステータス、SolrCloudダッシュボードといったサーバの各種統計情報を監視するためのAJAXベース管理画面を備える |
耐障害性 | 自動インデックスレプリケーション、自動フェイルオーバーおよびリカバリ機能を備え、単一障害点がない |
導入しやすい | オープンソースでライセンス費用がかからないうえ、いくつかの簡単なコマンドですぐに検索エンジンを利用できる |
運用しやすい | カスタマイズ可能な検索パラメータが豊富であるほか、管理画面や耐障害性機能を備え、スケールアウトを考慮した機能も充実 |
多言語対応 | トークナイザと言語フィルタが充実しており、数十か国もの言語をサポートしているほか、日本語検索の単語抽出方法に「形態素解析」と「N-gram」を選択でき、柔軟な対応が可能 |
豊富な導入実績 | 検索プラットフォームとして、国内外を問わず多数の採用実績がある |
コスト効果 | 特別なハードウェアを必要とせず、ライセンス費用もかからないため、商用製品に比べて大幅に導入コストを削減可能 |
Apache Solrの主な機能
主な機能は以下のとおりです。
検索/ソート機能 | クエリ検索、インデックス、ファセット、ハイライト(検索結果の強調表示)、スコアリング、範囲検索、緯度経度検索、類似文書検索、グルーピング、リッチテキスト検索、カスタムランキングなど |
---|---|
分散機能 | インデックスレプリケーション、分散横断検索、分散検索(SolrCloud) |
レプリケーション機能 | クラスタリング、シャーディング、自動インデックスレプリケーション、自動フェイルオーバー |
データインポート機能 | Apache TikaとDataImportHandler(DIH)の利用により、Microsoft オフィスファイル、PDFファイル等をインポート |
管理インタフェース | 各種設定の実施、キャッシュ使用率やクエリ、クラスタノードステータスといったサーバの各種統計情報を監視するための管理画面 |
その他 | スペルチェック、レコメンド、スコアブースト、トークナイザ(形態素解析)、トークンフィルタなど |

Apache Solrのダウンロード
Apache Solrのサポート
NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。