LoginSignup
2
3

More than 3 years have passed since last update.

FessでAmazon S3を高速に横断検索する

Last updated at Posted at 2019-10-15

この記事では、全文検索サーバー Fessを利用してAmazon S3内のファイルを横断検索する方法を紹介します。

これはFess上で実際に検索を行っている画面のスクリーンショットです。
3.png

導入手順

FessでAmazon S3を横断検索するための手順を説明します。

導入の流れは次のようになります。

  1. Fessの起動
  2. プラグイン追加
  3. 認証設定
  4. Fessの設定・クローラ実行

1. Fessの起動

起動および停止方法」を参考にFessを起動します。

2. プラグイン追加

プラグイン」を参考にfess-ds-s3-xx.x.xをインストールします。

3. 認証設定

データを取得するためには、認証情報をパラメータとして与える必要があるので、そのための設定をします。

IMA Managerにて、Fessがリソースにアクセスするためのユーザーの追加を行います。

プログラムによるアクセスをONにします。

アクセス許可の設定は、AmazonS3ReadOnlyAccessを与えます。

ユーザー作成後に表示される、アクセスキーID(access_key_id)とシークレットアクセスキー(secret_key)は、後で認証に必要になります。

4. Fessの設定・クローラ実行

Amazon S3をクロールするための設定をします。
公式ドキュメントの「データストアクロール」も参考にしてください。

4-1. クローラの設定

Fessの管理画面を開き、[クローラ] > [データストア]と移動し、新規作成をします。
新規作成画面では、

  • 名前
  • ハンドラ
  • パラメータ
  • スクリプト

の4項目を設定して、作成を完了します。
「名前」には好きな文字列を入力してください。
「ハンドラ」はAmazonS3を選択してください。
「パラメータ」は次のようなフォーマットで入力してください。

region=ap-northeast-1
access_key_id=AK***
secret_key=32***

regionは、S3バケットのリージョン、
access_key_idsecret_keyは、3.で取得したものです。

「スクリプト」は次のようなフォーマットで入力してください。

url=object.url
title=object.key
content=object.contents
mimetype=object.mimetype
filetype=object.filetype
filename=object.filename
content_length=object.size
last_modified=object.last_modified

取得出来る値のキーと値の説明は次のようになります。

キー
object.url オブジェクトURL
object.management_url オブジェクトの管理URL
object.key キー
object.e_tag Etag
object.contents 中身(テキスト)
object.mimetype MIMEタイプ
object.filetype ファイル形式
object.filename ファイル名
object.size サイズ
object.last_modified 最終編集日時
object.owner_id 所有者(ID)
object.owner_display_name 所有者(表示名)
object.bucket_name バケットの名前
object.creation_date バケットの作成日

4-2. ジョブスケジューラの作成

4-1. で作成したクロールをクリックすると、クロール設定が開き、そこから「新しいジョブの作成」をします。

後からでも変更はできるので、とりあえず試す場合はそのままの設定で大丈夫です。
詳しい設定については、「スケジューラ」を参考にしてください。

4-3. クローラの実行

[システム] > [スケジューラ]と移動し、4-2で作成したジョブを開きます。
その画面から、「今すぐ開始」をします。

状態が「実行中」から「有効」になるまで待ちます。

4-4. 検索のテスト

検索フォームから適当に検索してみます。
3.png

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3