FessでDropboxを高速に横断検索する
この記事では、全文検索サーバー Fessを利用してDropbox内のファイルを横断検索する方法を紹介します。
これはFess上で実際に検索を行っている画面のスクリーンショットです。
導入手順
FessでDropboxを横断検索するための手順を説明します。
導入の流れは次のようになります。
- プラグイン追加
- Fessの起動
- 認証設定
- 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でアプリケーションの作成を行います。
そして、アクセストークン(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. 検索のテスト
アクセス権限の設定
「パラメータ」を
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の所有者 |
Author And Source
この問題について(FessでDropboxを高速に横断検索する), 我々は、より多くの情報をここで見つけました https://qiita.com/deka0106/items/9a19d6e5fdde64c1c8b7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .