1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2019-07-11

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

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

導入手順

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

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

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

1. プラグイン追加

Fessの現バージョン(13.1.0)には、デフォルトでは含まれていない機能であるため、自分で追加する必要があります。

ここからfess-ds-dropbox-xx.x.x.jarをダウンロードします。
ダウンロードしたjarファイルは$FESS_HOME/app/WEB-INF/lib/に配置します。

2. Fessの起動

このページを参考にFessを起動します。

3. 認証設定

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

App Consoleでアプリケーションの作成を行います。

設定はこんな感じです。
setting

そして、アクセストークン(access_token)をGenerateしておきます。

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

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

4-1. クローラの設定

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

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

の4項目を設定して、作成を完了します。

「名前」には好きな文字列を入力してください。
「ハンドラ」はDropboxを選択してください。
「パラメータ」は次のようなフォーマットで入力してください。

access_token=**********

access_tokenは、3.で取得したものです。

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

url=file.url
title=file.name
content=file.contents
mimetype=file.mimetype
filetype=file.filetype
filename=file.name
content_length=file.size
last_modified=file.client_modified

取得出来る値のキーと値の説明は次のようになります。
ここで言う「File」はDropboxの1ファイルを指しています。

キー
file.url Fileを閲覧するリンク
file.contents Fileの中身(テキスト)
file.mimetype FileのMIMEタイプ
file.filetype Fileの種類
file.name Fileの名前
file.size Fileのサイズ
file.client_modified Fileの最終編集日時(ローカル)
file.server_modified Fileの最終編集日時(Dropbox上)

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

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

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

4-3. クローラの実行

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

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

4-4. 検索のテスト

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

アクセス権限の設定

「パラメータ」を

default_permissions={role}admin

「スクリプト」を

role=file.roles

のように設定すると、
あるファイルについて、RoleがadminであるFessユーザーもしくはDropbox上でアクセス権限を持つFessユーザーのみ、検索結果に表示させることができます。
「Dropbox上でアクセス権限を持つFessユーザー」とは、ユーザー名がDropbox上でそのファイルにアクセス権限を持つユーザーのメールアドレスと一致しているFessユーザーのことを指しています。

Dropbox Paperの検索

「ハンドラ」でDropboxPaperを選択すると、Dropbox Paperの文書をクロールすることができます。

その際、
「パラメータ」は

access_token=**********

「スクリプト」は

title=paper.title
content=paper.contents
url=paper.url
mimetype=paper.mimetype
filetype=paper.filetype
role=paper.roles

というフォーマットで入力します。

スクリプトで取得出来る値のキーと値の説明は次のようになります。
ここで言う「Paper」はDropboxの1ファイルを指しています。

キー
paper.url Paperを閲覧するリンク
paper.contents Paperの中身(テキスト)
paper.mimetype PaperのMIMEタイプ
paper.filetype Paperの種類
paper.title Paperのタイトル
paper.owner Paperの所有者
1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?