読者のなかには、オンラインストレージのDropboxでデータを管理している方もおられるかと思います。今回は、Dropbox内のファイルを検索する方法をご紹介しましょう。Fessのバージョンは、13.4.3を使用します。

Dropboxの設定

まず、DropboxのサイトでDropboxアプリを作成します。このアプリは、FessがDropboxのファイルにアクセスするために必要になるものです。

Dropboxアプリの作成

DropboxのApp Consoleで、「Create App」をクリックして、Dropboxアプリを作成します。設定項目は以下の通りです。

  1. Choose an API:Dropbox Business API
  2. Choose the type of access you need:Team member file access
  3. Name your app:任意の名前を設定

設定したら「Create App」ボタンをクリックすると、アプリが作成されます。

Dropboxアプリの作成

アクセストークンの取得

「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の検索画面を表示して、検索フォームから適当に検索してみてください。

Fessの検索画面から検索した結果(ここでは「test」を検索)

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などの開発に従事。