2014年06月20日

検索システムを作る

Luceneは検索エンジンライブラリのため、当然Lucene単体では余り使い道がない。
Luceneを使った簡単なシステムを1つ作成してみようと思い、以下の構成で開発着手。

検索システムの構成としては、下記の通り

1.検索対象となるデータ収集[crawling]
 ↓
2.高速に検索できるようにデータの索引を作成[indexing]
 ↓
3.検索[searching]
 ⇒3.1検索するインターフェースが必要

上記を全てゼロから作成するのは大変なため、
そのためにApacheのLuceneプロジェクトで用意されている
下記を利用。

1.,2. Nutch
○Home
http://lucene.apache.org/nutch/
○ダウンロード
http://www.apache.org/dyn/closer.cgi/lucene/nutch/

3. Lucene
○Home
http://lucene.apache.org/
○ダウンロード
http://www.apache.org/dyn/closer.cgi/lucene/java/

3.-1 Solr
○Home
http://lucene.apache.org/solr/
○ダウンロード
http://www.apache.org/dyn/closer.cgi/lucene/solr/

上記を順次セットアップしてみよう。
posted by Lucene勉強中 at 16:59| Comment(54) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2011年10月18日

Lucene/Solrの使用メリット

久しぶりにLuceneについて調べた

まずは、Lucene/Solrのメリット

1.index作成のための単語/文字列抽出の方法として
 ・形態素解析
 ・N-gram
があるが、それぞれ長所と短所があるが、Lucene/Solrは両方に対応。


2.応用的な検索機能の提供
 基本機能:キーワード指定検索、完全一致、明示的な部分一致、
      AND/OR/NOTなどの論理演算子、カッコを用いたキーワードの評価順制御

 応用機能:数値や日時のレンジを指定するレンジ検索、
      近似語検索、重み付け検索
  など。

3. 結果処理用のインターフェース
 Lucene/Solrでは,検索結果を生成するモジュールがQueryResponseWriterというJavaインタフェースで定義されており、
  デフォルトの状態でXMLを出力するモジュール
  外部XSLで加工した結果を返すモジュール
  JSON形式の結果を返すモジュール
 など、設定ファイルで様々なインターフェースに柔軟に切替えられる


最近見ていなかったけど、今でも精力的にバージョンアップされていたのが嬉しかった。
久々にセットアップして、動かしてみようと思う。
posted by Lucene勉強中 at 22:12| Comment(4) | TrackBack(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2008年08月23日

とりあえずSolrインストール&動作確認

◇Solrインストール方法
まずは、Solrを実際に動かしてみようと思い、sampleで動作確認。
SolrのTutorialを試して見ました。
手順は、
http://lucene.apache.org/solr/features.html
に記載された通りです。
インストールしたいディレクトリで下記のコマンド(``内部分)を
順に実行していけば確認できます。
※もちろんインストールしたいディレクトリに書込み権限のある
 ユーザで やらなきゃだめ。
例えば、インストールディレクトリを
/apps とした場合、
・/appsディレクトリに移動
`cd /apps`
・ダウンロード
`wget http://ftp.riken.jp/net/apache/lucene/solr/1.2/apache-solr-1.2.0.tgz`
・解凍
`tar zxvf apache-solr-1.2.0.tgz`
・sampleのexampleアプリケーションディレクトリに移動
`cd apache-solr-1.2.0/example/`
・アプリケーション起動
※ここではjavaコマンドにPATHが通してある必要あり。
`java -jar start.jar`
INFO: Started SocketConnector @ 0.0.0.0:8983
のような表示がされれば、起動完了。

・ブラウザから確認してみよう。
 http://[サーバIP]:8983/solr/admin/
に画面が表示されればOK。

以上で、インストールと動作確認は完了。
`java -jar start.jar`を実行したターミナルWindowは、backgroundで
起動時に実行したり、screenコマンドで実行されたりしていなければ
閉じたらサーバも停止します。
posted by Lucene勉強中 at 03:33| Comment(0) | 実践編 | このブログの読者になる | 更新情報をチェックする

2008年08月16日

実践編有益情報サイト

◆全文検索エンジン「Lucene」を試すhttp://www.itarchitect.jp/enterprise/-/25122-1.html

◆Lucene 2.3: インデックス作成パフォーマンスの大幅な向上と新たな機械学習プロジェクト
http://www.infoq.com/jp/news/2008/02/lucene-23-mahout
posted by Lucene勉強中 at 04:15| Comment(0) | リンク | このブログの読者になる | 更新情報をチェックする

全文検索エンジンとは

◆全文検索エンジンとは
全文検索エンジンとは、膨大なデータの中から欲しい情報を取得するための検索システムの、エンジン部分にあたります。

検索システムは、検索するためのデータを用意する裏方の処理と、
検索したいキーワードで、必要な情報を取得し、ユーザーに返す
表側の処理の2系統で成り立っており、概要は下記の通りです。

[☆バックエンド(裏方)]
1.データ収集[crawl]
  ↓
2.Index(索引)作成[indexing]
  ↓
【Indexデータ】

[☆フロント(表)]
3.検索リクエスト
  ↓
4.【Indexデータ】に問い合わせ
  ↓
5.結果を返す

上記の必要な処理の中で、Luceneで提供されていない機能に
関しても、Luceneの開発を行っているApacheのサブプロジェクトで
開発されているものもある。
例えば、
crawler:Nutch
Webで検索リクエスト処理と結果を返すアプリケーションのフレームワーク:Solr

上記についても随時情報を追記していく予定。
posted by Lucene勉強中 at 04:11| Comment(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

2008年08月15日

Luceneとは・・・

◆Luceneとは
Javaで書かれた、全文検索エンジンライブラリ。
Apacheプロジェクトで開発が進められている。

Luceneとは何かを理解するうえで、全文検索の仕組みについても
前提知識が必要なため、その辺については「※全文検索エンジンとは」に記載。

Lucene自体は検索機能を提供するのみなので、アプリケーションの
作成には、他にもいくつか必要。
例えば日本語の検索をするには、CJKAnalyzerかJapaneseAnalyzerを使って
日本語のインデキシングを行う必要がある。
また、データの収集を行うクローラには、Apacheのサブプロジェクトで
Nutchと
いうのがあり、ウェブアプリ用にはSolrというのがある。

○Lucene公式サイト
http://lucene.apache.org/

○Solr公式サイト
http://lucene.apache.org/solr/

○Nutch公式サイト
http://lucene.apache.org/nutch/

◆キーワードMEMO
※全文検索エンジン
※インデキシング[indexing]
※CJKAnalyzer
※JapaneseAnalyzer
※Nutch
※Solr
ラベル:lucene
posted by Lucene勉強中 at 02:48| Comment(0) | 基礎知識 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。