読者のなかには、オンラインストレージのDropboxでデータを管理している方もおられるかと思います。今回は、Dropbox内のファイルを検索する方法をご紹介しましょう。Fessのバージョンは、13.4.3を使用します。
Dropboxの設定
まず、DropboxのサイトでDropboxアプリを作成します。このアプリは、FessがDropboxのファイルにアクセスするために必要になるものです。
Dropboxアプリの作成
DropboxのApp Consoleで、「Create App」をクリックして、Dropboxアプリを作成します。設定項目は以下の通りです。
- Choose an API:Dropbox Business API
- Choose the type of access you need:Team member file access
- Name your app:任意の名前を設定
設定したら「Create App」ボタンをクリックすると、アプリが作成されます。
アクセストークンの取得
「Create App」ボタンをクリックすると画面遷移し、アプリの設定画面が表示されます。ここで「OAuth 2」>「Generated access token」の「Generate」をクリックしてアクセストークンを取得します。
Fessの設定
一方、Fess側ではプラグインをインストールして、クロール設定を作成します。
プラグインのインストール
Fessを起動後、管理画面の「システム」>「プラグイン」で「インストール」をクリックし、プラグインのインストール画面を表示します。リモートタブで「fess-ds-dropbox-13.4.0」を選択し、「インストール」をクリックするとプラグインがインストールされます。
クロールの設定
Dropbox内のファイルをクロールする際には、データストアクロールを利用します。
Fessの管理画面を開き、「クローラ」>「データストア」と移動し、新規作成をクリックして必要な項目を設定していきます。
「名前」には任意の設定名を指定します。
「ハンドラ名」は「DropboxDataStore」を選択し、「パラメータ」は以下のように設定します。
access_token=**********
access_tokenは「アクセストークンの取得」で取得したアクセストークンです。
「スクリプト」は以下のように設定します。
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.name | ファイルの名前 |
file.contents | ファイルの中身 |
file.mimetype | ファイルのMIMEタイプ |
file.filetype | ファイルの種類 |
file.size | ファイルのサイズ |
file.client_modified | ファイルの最終編集日時 |
設定画面は次のような感じになります。
クローラの実行
「システム」>「スケジューラ」と移動し、「Default Crawler」のジョブを開きます。その画面上の「今すぐ開始」をクリックして、クローラを開始し、ジョブの状態が「実行中」から「有効」になるまで待ちます。
検索のテスト
Fessの検索画面を表示して、検索フォームから適当に検索してみてください。
Dropbox内のファイルが検索できることを確認できます。
Dropbox Paperのクロール
Dropboxには「Dropbox Paper」というドキュメント編集サービスもあり、FessはデータストアクロールでこのPaperも検索対象にすることが可能です。
「ハンドラ」で「DropboxPaperDataStore」を選択し、Dropbox Paperの文書をクロールする設定を作成します。
「パラメータ」の設定内容は、「クロールの設定」で設定した内容と同じです。「スクリプト」は以下のように設定します。
title=paper.title
content=paper.contents
url=paper.url
mimetype=paper.mimetype
filetype=paper.filetype
スクリプトで利用可能なキーと値は以下のとおりです。 この時の「Paper」はDropbox上の1つのドキュメントに対応します。
キー | 値 |
---|---|
paper.title | Paperのタイトル |
paper.contents | Paperの中身 |
paper.url | Paperを閲覧するリンク |
paper.mimetype | PaperのMIMEタイプ |
paper.filetype | Paperの種類 |
クロール設定の作成後は、先ほどと同様にクロールして検索してみてください。
* * *
以上、今回はFessのプラグインをインストールすることで、Dropbox内のファイルやDropbox Paperのドキュメントを検索する方法を紹介しました。Dropbox上のデータも検索対象にする際には参考にしてください。
著者紹介
菅谷 信介 (Shinsuke Sugaya)
Apache PredictionIOにて、コミッター兼PMCとして活動。また、自身でもCodeLibs Projectを立ち上げ、オープンソースの全文検索サーバFessなどの開発に従事。