概要
Fess ではデータベースやCSVなどのデータソースをクロール対象とすることができます。ここでは、そのために必要なデータストアの設定について説明します。
設定方法
表示方法
管理者アカウントでログイン後、メニューのデータストアをクリックします。

設定項目
設定名
クロール設定の名前を指定します。
ハンドラ名
データストアを処理するハンドラ名です。 データベースをクロールする場合はDatabaseDataStoreを選択し、CSVファイルを対象としてクロールする場合はCsvDataStoreを選択してください。
パラメータ
データストアに関するパラメータを指定します。
スクリプト
データストアから取得した値をどのフィールドに設定するかなどを指定します。 OGNL式が記述することができます。
ブースト値
この設定でクロールしたときのドキュメントのブースト値を指定します。
ロール
ロール検索を利用する場合、このクロール設定のロールを指定します。
ラベル
このクロール設定でクロールしたときのラベルを指定します。
状態
このクロール設定を利用するかどうかを指定します。
表示パラメータ
検索結果に latitude_s のような項目値を表示する場合は webapps/ROOT/WEB-INF/classes/app.dicon に以下のように設定してください。 追加後は searchResults.jsp などで ${doc.latitude_s} とすることで表示されます。
DatabaseDataStore
データベースクロールについて説明します。
例として、以下のようなテーブルが MySQL の testdb というデータベースにあり、ユーザ名 hoge 、パスワード fuga で接続することができるとして、説明を行います。
ここでは、データは以下のようなものを入れておきます.
パラメータ
パラメータの設定例は以下のようになります。
パラメータは「キー=値」形式となっています。キーの説明は以下です。
| driver | ドライバクラス名 |
| url | URL |
| username | DBに接続する際のユーザ名 |
| password | DBに接続する際のパスワード |
| sql | クロール対象を得るための SQL 文 |
Table: DB用設定パラメータ例
スクリプト
スクリプトの設定例は以下のようになります。
パラメータは「キー=値」形式になっています。キーの説明は以下です。
値の側は、OGNL で記述します。文字列はダブルクォーテーションで閉じてください。データベースのカラム名でアクセスすれば、その値になります。
| url | URL(検索結果に表示されるリンク) |
| host | ホスト名 |
| site | サイトパス |
| title | タイトル |
| content | コンテンツ(インデックス対象文字列) |
| cache | コンテンツのキャッシュ(インデックス対象ではない) |
| digest | 検索結果に表示されるダイジェスト部分 |
| anchor | コンテンツに含まれるリンク(普通は指定する必要はありません) |
| contentLength | コンテンツの長さ |
| lastModified | コンテンツの最終更新日 |
Table: スクリプトの設定内容
ドライバ
データベースに接続する際にはドライバが必要となります。webapps/ROOT/WEB-INF/cmd/lib に jar ファイルを置いてください。
CsvDataStore
CSVファイルを対象としたクロールについて説明します。
たとえば、/home/taro/csv ディレクトリに test.csv ファイルを以下のような内容で生成しておきます。 ファイルのエンコーディングは Shift_JIS にしておきます。
パラメータ
パラメータの設定例は以下のようになります。
パラメータは「キー=値」形式となっています。キーの説明は以下です。
| directories | CSVファイルが含まれるディレクトリ (.csvまたは.tsv) |
| files | CSVファイル (直接指定する場合) |
| fileEncoding | CSVファイルのエンコーディング |
| separatorCharacter | 区切り文字 |
Table: CSVファイル用設定パラメータ例
スクリプト
スクリプトの設定例は以下のようになります。
パラメータは「キー=値」形式になっています。 キーはデータベースクロールの場合と同様です。 CSVファイル内のデータは、cell[数字]で保持しています(数字は 1 から始まります)。 CSVファイルのセルにデータが存在しない場合はnullになる場合があります。