メモ。以下の「CSVファイル」のとこ。
投稿者: shinsuke
MODxを入れてみる
http://modxcms.com/ だけど、CentOS 5 に入れてみた。個人的なメモに近いけど(^^;
# cd /var/www/html # tar zxvf /tmp/modx-1.0.2.tar.gz # mv modx-1.0.2/* . # rm -r modx-1.0.2 # chown -R apache:apache * # mysql -u root -p mysql> create database modx; mysql> grant all privileges on modx.* to modxusername@localhost identified by 'modxpassword'; mysql> FLUSH PRIVILEGES; # /etc/init.d/httpd restart
っていうような感じで http://localhost/ とかにアクセスすれば、手順通りにやればインストールが完了した(Apache の設定は適当にしてね)。
データベースクロール機能
Fessをいろいろな方に紹介すると、データベース内のデータも対象にしたいのだよね~、と毎回言われる。まぁ、SolrにはDataImportHandlerというのがあるから、これを使ってSolrに直接入れれば良いとも思うのだが、使い勝手をウリにする Fess としては導入の敷居が一気に上がってしまうことになる。solrconfig.xmlを編集して、data-config.xmlを作って、コマンド叩いてね…というのもね。というわけで、データストア機能という感じでFessに実装した。
ウェブクロール設定とかと同じように、データストアクロール設定が追加してみた。パラメータを設定すれば、指定したSQL文からデータを取得して、Solrに投入する。たとえば、
ウェブクロール設定とかと同じように、データストアクロール設定が追加してみた。パラメータを設定すれば、指定したSQL文からデータを取得して、Solrに投入する。たとえば、
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/jobdb?useUnicode=true&characterEncoding=UTF-8 username=hogeuser password=fugapass sql=select * from job
というように入力して、ハンドラには同様に「キー=値」形式で
url="http://localhost/" + id host="localhost" site="localhost" title=title content=content cache=content digest=content anchor= contentLength=content.length() lastModified=content.length()
というように Fess の Solr スキーマに必要なマッピングルールを書く。キーについて簡単にまとめると
| url | URL(検索結果に表示されるリンク) |
| host | ホスト名 |
| site | サイトパス |
| title | タイトル |
| content | コンテンツ(インデックス対象文字列) |
| cache | コンテンツのキャッシュ(インデックス対象ではない) |
| digest | 検索結果に表示されるダイジェスト部分 |
| anchor | コンテンツに含まれるリンク(普通は指定する必要ないと思う) |
| contentLength | コンテンツの長さ |
| lastModified | コンテンツの最終更新日 |
という感じ。値の方は OGNL で記述する。文字列は “~” で書けば良い。データベースのカラム名で記述すればその値になる。OGNLなので、やろうと思えばいろいろとできるかと(^^;。あとは、他のクロール設定と同様の使い方です。実際にデータベースにアクセスするときにはドライバが必要になるので、webapps/fess/WEB-INF/cmd/libにjarファイルを入れておく必要がある。
現時点では、データベースだけだけど、XMLやExcelなどから取る機能も追加したいところ。
Fess 3.0 も Solr 1.4 にするだけかと思っていたら、あれこれと大玉が追加してしまったな…。あとは、設定ウィザードページを追加したら、3.0 をリリースしようかと思っている感じ。