マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Apache Lucene

【OSS情報アーカイブ】Apache Lucene

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Apache Lucene」とは

基本情報

概要

Apache Lucene(アパッチルシーン)とは、高性能/高機能/極めてスケーラブルなオープンソース全文検索エンジンライブラリです。

「全文検索」とは

検索対象となる1つ以上のテキスト全文を対象として、指定された検索文字列で検索を行い、検索文字列が含まれる文書を表示する機能/システムです。

あらかじめ転置索引というものを作成しておき、検索時に使用して検索を行います。

基本説明

Luceneは、Apache Software FoundationのLuceneプロジェクトで開発されているソフトウェアです。100%PureJavaで実装されています。

インデックスを作成するタイプの全文検索エンジンで、あらかじめ蓄積した大量のドキュメントデータから、指定したキーワードを探し出します。

1台のマシンで1000万ドキュメント程度のボリュームを高速検索できます。「エンタープライズレベル検索」に適しています。

Javaのクラスライブラリとしてリリースされており、Javaのプログラムから、単純なAPIで呼び出されることで、強力な索引機能と検索機能を提供します。

経緯

2007年1月、Apacheのトップレベルプロジェクトになりました。

ポイント

・1時間に150GB以上のインデックススループット/ランク付け処理を行える高機能
・検索および索引付けを同時に実行可能
・ドキュメント登録にはXML、JSONなどを使用
・強力で正確かつ効率的な検索アルゴリズム
・多数の強力なクエリタイプをサポート
・クエリ式の構文解析
・誤字補完機能
・特定のクエリと一致する文書ごとにスコアを計算
・スコアを基準として関連性の高い順にランクを付けて文書を返す
・各種サーブレットコンテナ上で動作可能
・RESTライクAPI
・ファイルベースロック機構
・レプリケーション機能
・カスタムソート、フィルタリング
・検索結果のハイライト機能

主な特徴

多彩な検索機能

単語、連結複数単語、ワイルドカード、正規表現、あいまい、範囲、フィルタリングなどの検索機能を提供します。さらに、「AND」「OR」「NOT」「()」の演算子を使って組み合わせた検索式で高速検索できます。

「ランキング」と「ソート」のカスタマイズ

「ランキング」と「ソート」へのカスタマイズ自由度が非常に高いという特徴があります。

オープン性

全文検索の機能をJavaのAPIで提供するため、さまざまなカスタマイズが可能です。関連ツール/アプリケーションなどが世界中で開発され、ソースコードが公開されています。

関連製品

Luceneベースの関連製品です。
・NoSQL検索プラットフォーム「Apache Hadoop
・エンタープライズ向け検索プラットフォーム「Apache Solr
・クローラ「Apache Nutch」
・リアルタイム検索システム「Elasticsearch

デバッグ用ツール

デバッグ用ツール「Luke」は、Luceneの転置索引をブラウズするGUI形式の「インデックスブラウザ」です。

日本語解析

各種用意されている形態素解析プログラムを利用することで日本語検索が可能になります。

同様製品(概要情報)

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Elasticsearch」「Groonga」「Fess」など。

導入事例

Luceneは、「Wikipedia」「LinkedIn」などのWeb サイトで使用されています。

また、「Eclipse IDE」「IBM」「AOL」「Hewlett-Packard」などの企業にも検索機能を提供しています。

ライセンス情報

Apache Luceneのライセンスは、「Apache License 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】自然言語でアプリ開発「 GitHub Spark 」とは?⚡

デジタル寺田の3分用語解説

2024.11.25

【デジタル寺田の3分用語解説】自然言語でアプリ開発「 GitHub Spark 」とは?⚡

「 GitHub Spark 」は、コードを書かずに自然言語でアプリを作成できるAIツールです。アイデアを言葉で伝えるだけで、AIが自動的にアプリを作成します。リアルタイム編集や自動デプロイに対応し、初心者でも簡単にアプリ開発を楽しめます。

【デジタル寺田の3分用語解説】ガートナーが提唱する、生成AI時代の6つの 情報漏洩対策 とは? 🔒

デジタル寺田の3分用語解説

2024.11.25

【デジタル寺田の3分用語解説】ガートナーが提唱する、生成AI時代の6つの 情報漏洩対策 とは? 🔒

ガートナーは生成AI時代のリスクに対し、6つの「 情報漏洩対策 」を提唱しました。具体例には「アクセス制御の徹底」「データ・マップ作成」「責任の明確化」「技術評価と活用」「リテラシー向上」が含まれます。セキュリティ哲学の転換と実行が求められ、従業員への周知が鍵となります。

【デジタル寺田の3分用語解説】「企業によるベンダー、SIerへの 訴訟 」とは?〜日本通運がアクセンチュアを提訴〜🏢

デジタル寺田の3分用語解説

2024.11.25

【デジタル寺田の3分用語解説】「企業によるベンダー、SIerへの 訴訟 」とは?〜日本通運がアクセンチュアを提訴〜🏢

企業がベンダー(SIer)に対する 訴訟 の背景や原因を解説します。日本通運とアクセンチュアの125億円訴訟に加え、他の大規模な紛争事例も紹介します。プロジェクト管理や要件定義の重要性を具体例で説明し、成功への鍵を探ります。