データストアの設定
fess ではデータベースもクロール対象とすることができます。ここでは、そのために必要なデータストアの設定について説明します。
設定方法
管理者アカウントでログイン後、メニューのデータストアをクリックします。
例として、以下のようなテーブルが MySQL の testdb というデータベースにあり、ユーザ名 hoge 、パスワード fuga で接続することができるとして、説明を行います。
CREATE TABLE job (
id BIGINT NOT NULL AUTO_INCREMENT
, title VARCHAR(100) NOT NULL
, content VARCHAR(255) NOT NULL
, versionNo INTEGER NOT NULL
, PRIMARY KEY (id)
);
パラメータ
パラメータの設定例は以下のようになります。
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=UTF-8
username=hoge
password=fuga
sql=select * from job
パラメータは「キー=値」形式となっています。キーの説明は以下です。
driver | ドライバクラス名 |
url | URL |
username | DBに接続する際のユーザ名 |
password | DBに接続する際のパスワード |
sql | クロール対象を得るための SQL 文 |
スクリプト
スクリプトの設定例は以下のようになります。
url="http://localhost/" + id
host="localhost"
site="localhost"
title=title
content=content
cache=content
digest=content
anchor=
contentLength=content.length()
lastModified=content.length()
パラメータは「キー=値」形式になっています。キーの説明は以下です。
値の側は、OGNL で記述します。文字列はダブルクォーテーションでくくってください。データベースのカラム名でアクセスすれば、その値になります。
url | URL(検索結果に表示されるリンク) |
host | ホスト名 |
site | サイトパス |
title | タイトル |
content | コンテンツ(インデックス対象文字列) |
cache | コンテンツのキャッシュ(インデックス対象ではない) |
digest | 検索結果に表示されるダイジェスト部分 |
anchor | コンテンツに含まれるリンク(普通は指定する必要はありません) |
contentLength | コンテンツの長さ |
lastModified | コンテンツの最終更新日 |
ドライバ
データベースに接続する際にはドライバが必要となります。webapps/fess/WEB-INF/cmd/lib に jar ファイルを置いてください。